python数据可视化之条形图画法
作者:cdy760849607 发布时间:2021-08-07 13:43:22
标签:python,数据可视化,条形图
什么是条形图?
条形图(bar chart)是用宽度相同的条形的高度或长短来表示数据多少的图形。条形图可以横置或纵置,纵置时也称为柱形图(column chart)。此外,条形图有简单条形图、复式条形图等形式。
简单来说,条形图的宽度一般是相同的,条形的高度或长短表示数据的多少,这也就是条形图和直方图的本质区别。
第一种画法
import numpy as np
from pandas import DataFrame
# 由于我们的x轴上刻度值是中文 需要使用这个包 进行中文的显示
from matplotlib.pyplot import rcParams
# 显示中文 kaiti 表示 楷体
rcParams['font.sans-serif'] = 'kaiti'
# 条形图(纵向)
df = DataFrame(data=np.random.randint(50,100,size=(3,3)),
index=['张三','李四','王五'],
columns=['Python','En','Math']
)
df.plot(kind='bar',fontsize=20)
# 运行结果如下图:
第二种画法
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = ['张三','李四','王五']
height = np.random.randint(80,100,size=3)
plt.bar(x,height,width=0.2)
height = np.random.randint(50,80,size=3)
plt.bar(x,height,width=0.2)
height = np.random.randint(10,80,size=3)
plt.bar(x,height,width=0.2)
# 设置图例 ncol 表示一行显示3个图例 loc 设置图例的位置
plt.legend(['数学成绩','Python成绩','英语成绩'],ncol=3,loc=(0,1))
# 运行结果如下:
第三种画法
使用pyecharts,pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,为了与 Python 进行对接,方便在 Python 中直接使用数据生成图,简单便捷,可视化效果很棒,让我们来一起看看吧~。
import numpy as np
from pyecharts.charts import Bar
from pyecharts import options as opts
# V1 版本开始支持链式调用
bar = (
Bar()
.add_xaxis(['张三','李四','王五'])
# 这里需要注意 y轴上传递的只能是列表 不能是数组,如果是数组 数据无法显示
.add_yaxis("python成绩",np.random.randint(40,100,size=3).tolist())
.add_yaxis("数学成绩",np.random.randint(40,100,size=3).tolist())
.add_yaxis("英语成绩",np.random.randint(40,100,size=3).tolist())
.set_global_opts(title_opts=opts.TitleOpts(title="某大学大三学生成绩条形图",subtitle='K班级'))
)
# 如果不习惯链式调用的可以使用常规操作
'''
bar = Bar()
bar.add_xaxis(['张三','李四','王五'])
bar.add_yaxis("python成绩",np.random.randint(40,100,size=3).tolist())
bar.add_yaxis("数学成绩",np.random.randint(40,100,size=3).tolist())
bar.add_yaxis("英语成绩",np.random.randint(40,100,size=3).tolist())
bar.set_global_opts(title_opts=opts.TitleOpts(title="某大学大三学生成绩条形图",subtitle='K班级'))
'''
# 在 jupyter notebook上输出
bar.render_notebook()
# 也可以渲染到本地html文件
# bar.render('./成绩.html')
# 运行结果如下:
来源:https://blog.csdn.net/weixin_42218582/article/details/92378773
0
投稿
猜你喜欢
- asp之家注:有时候我们需要知道我们链接的远程图片是否正常,是否存在,当不存在时如果我们继续引用,就会在网页上留个大大的X,影响了页面美观。
- 什么是词干提取?在语言形态学和信息检索里,词干提取是去除词缀得到词根的过程─—得到单词最一般的写法。对于一个词的形态词根,词干并不需要完全相
- 什么是性能分析?性能分析是衡量应用程序在代码级别的相对性能。性能分析将捕捉的事件包括:CPU的使用,内存的使用,函数的调用时长和次数,以及调
- argparse是python用于解析命令行参数和选项的标准模块。很多时候,需要用到解析命令行参数的程序,目的是在终端窗口输入训练的参数和选
- 一:文字加粗 倾斜的代码文字加粗的代码是: <b>你好</b>文字倾斜的代码是: <i>你好!</
- 本文实例讲述了Python实现html转换为pdf报告(生成pdf报告)功能。分享给大家供大家参考,具体如下:1、先说下html转换为pdf
- 随着同时开发的项目越来越多,需要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv。以前一直使用的 vir
- 在制作登录页面时学习了TK弹窗的输入文本框的使用,下面让我们一起来学习一下TK弹窗中的输入框及文本框的使用方法吧!输入框要想制作一个输入弹窗
- 利用图标工具(有很多)制作图标文件(favicon.ico)上传到网站所在的服务器的根目录下,这个文件必须是16*16大小的图标文件。当然,
- 用科讯CMS“分页显示(专题)文章列表标签”,可以在栏目文章列表下面产生一个页码行。从图可以看出,这段DIV,还需要CSS修饰,但是查看Ht
- 作为近两年来最火的编程语言的python,受到广大程序员的追捧必然是有其原因的,如果要挑出几点来讲的话,第一条那就python语法简洁,易上
- 程序运行,产生如下结果,然后进程终止,导致这一结果的原因很有可能是内存 * 。当两个较大的 (e.g., 10000*10000 维)ndar
- 分析当前用户下所有表的记录总数保证好用!begin dbms_utility.analyze_schema(user,'COMPUT
- 不是很难哦,我们现在就可以实现VBScript在服务器端验证,就是下面的函数:<%FUNCTION TestString(S
- 本文实例讲述了Python3实现从文件中读取指定行的方法。分享给大家供大家参考。具体实现方法如下:# Python的标准库linecache
- hanxiaolian 为了躲避 lake2 ASP站长管理助手而写.. 一.绕过lake2 Asp木马扫描的小马 代码如下:<%&n
- * 表的建立关系数据库的主要特点之一就是用表的方式组织数据。表是SQL语言存放数据、查找数据以及更新数据的基本数据结构。在SQL语言中,表有
- 这个url的正则表达式判断的js!是比较全面的。它验证的情况包括!IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!
- 问题:有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另
- zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:class zipfile