python条形图函数 python绘制条形图用什么函数

python可视化数据分析常用图大集合(收藏)python数据分析常用图大集合:包含折线图、直方图、垂直条形图、水平条形图、饼图、箱线图、热力图、散点图、蜘蛛图、二元变量分布、面积图、六边形图等12种常用可视化数据分析图,后期还会不断的收集整理,请关注更新!
【python条形图函数 python绘制条形图用什么函数】 以下默认所有的操作都先导入了numpy、pandas、matplotlib、seaborn
一、折线图
折线图可以用来表示数据随着时间变化的趋势
Matplotlib
plt.plot(x, y)
plt.show()
Seaborn
df = pd.DataFrame({'x': x, 'y': y})
sns.lineplot(x="x", y="y", data=https://www.04ip.com/post/df)
plt.show()
二、直方图
直方图是比较常见的视图,它是把横坐标等分成了一定数量的小区间,然后在每个小区间内用矩形条(bars)展示该区间的数值
Matplotlib
Seaborn
三、垂直条形图
条形图可以帮我们查看类别的特征 。在条形图中,长条形的长度表示类别的频数 , 宽度表示类别 。
Matplotlib
Seaborn
1plt.show()
四、水平条形图
五、饼图
六、箱线图
箱线图由五个数值点组成:最大值 (max)、最小值 (min)、中位数 (median) 和上下四分位数 (Q3, Q1) 。
可以帮我们分析出数据的差异性、离散程度和异常值等 。
Matplotlib
Seaborn
七、热力图
力图 , 英文叫 heat map , 是一种矩阵表示方法 , 其中矩阵中的元素值用颜色来代表,不同的颜色代表不同大小的值 。通过颜色就能直观地知道某个位置上数值的大小 。
通过 seaborn 的 heatmap 函数,我们可以观察到不同年份,不同月份的乘客数量变化情况,其中颜色越浅的代表乘客数量越多
八、散点图
散点图的英文叫做 scatter plot,它将两个变量的值显示在二维坐标中 , 非常适合展示两个变量之间的关系 。
Matplotlib
Seaborn
九、蜘蛛图
蜘蛛图是一种显示一对多关系的方法,使一个变量相对于另一个变量的显著性是清晰可见
十、二元变量分布
二元变量分布可以看两个变量之间的关系
十一、面积图
面积图又称区域图,强调数量随时间而变化的程度,也可用于引起人们对总值趋势的注意 。
堆积面积图还可以显示部分与整体的关系 。折线图和面积图都可以用来帮助我们对趋势进行分析 , 当数据集有合计关系或者你想要展示局部与整体关系的时候,使用面积图为更好的选择 。
十二、六边形图
六边形图将空间中的点聚合成六边形,然后根据六边形内部的值为这些六边形上色 。
原文至:
怎样用python 绘制条形图用matplotlib包的barh函数绘制的,大致布局已经很相似了
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
label = ['a','b','c','d','e','f']
x = sorted([1234,221,765,124,2312,890])
idx = np.arange(len(x))
color = cm.jet(np.array(x)/max(x))
plt.barh(idx, x, color=color)
plt.yticks(idx 0.4,label)
plt.grid(axis='x')
plt.xlabel('Revenues Earned')
plt.ylabel('Salespeople')
plt.title('Top 12 Salespeople(2012)\n(in USD)')
plt.show()
Python-openpyxl教程6 - 图表之面积图和条形图openpyxl可以使用以下图表:
图表至少由一系列一个或多个数据点组成 。系列本身对单元格范围的引用组成 。
默认情况下图表的左上角固定在单元格E15上python条形图函数,大小为15x7.5厘米(大约5列乘14行) 。可以通过设置图标的anchor,width和height属性来更改此设置 。实际大小将取决于操作系统和设备 。
其python条形图函数他锚点是可能的 。请参考openpyxl.drawing.spreadsheet_drawing来获取更多信息 。
面积图类似于折线图,不同之处在于填充了绘制线下方的区域 。通过将分组设置为"标准","堆叠"或"百分比堆叠",可以使用不同的变体 。默认为"标准" 。
您还可以创建三维面积图
这将生成一个简单的三维面积图,其中第三个轴可用于替换图例:
在条形图中 , 值被绘制为水平条或垂直列
这将产生四个图表,说明各种可能性 。
您还可以创建三维条形图
这将生成一个简单的三维条形图 。
note:有兴趣的小伙伴可以帮忙看下在 office下的现象
如何用python绘制简单条形图?如何用python绘制简单条形图呢?这里离不开matplotlib的使用 。
条形图是数据可视化图形中很基础也很常用的一种图,简单解释下:条形图也叫长条图(英语:bar chart),亦称条图(英语:bar graph)、条状图、棒形图、柱状图、条形图表,是一种以长方形的长度为变量的统计图表 。长条图用来比较两个或以上的价值(不同时间或者不同条件) , 只有一个变量,通常利用于较小的数据集分析 。长条图亦可横向排列 , 或用多维方式表达 。
那么一个普通的条形图是长什么样子的呢?
当!当!当!就是下图的这个样子:
图先亮出来啦,接下来研究这个图是怎么画的吧,先看一下原数据长什么样子:
实际画图的流程和画折线图很相近 , 只是用到的画图函数不一样,绘制条形图的函数plt.bar():
由于这只是最简单的一个条形图,实际上条形图的函数plt.bar()还有不少可以探索的参数设置,和对折线图函数plt.plot()的探索差不多 , 有兴趣的孩子可以自己去进行探索哦 。
按照条形长短进行排序展示的条形图
当然也可以有其他的设置,比如说上图中的线条高低参差不齐,这是因为x轴的数据是按照学校名称进行排序的,那么可不可以按照分数的高低进行排序呢?也就是让所有的长方形按照从高到矮或者从矮到高的顺序进行排列?
当然可以啦!这里需要强调的是,条的高低排列等信息都是来源于原数据的,要想让条形的顺序发生改变,需要对画图的来源数据进行更改呢!
把原数据逆序排序后截取前十名数据赋值给data_yuwen,作为新的数据源传入画图函数plt.bar(),画出来的图自然就不一样了 。
先看一眼数据长什么样子:
根据这个数据源绘制出的图形如下,由于用来画图的数据进行了降序排序操作 , 所以生成条形图的条也会进行降序排序展示:
很多时候,我们常见的条形图还有另一种展现形式,那就是横向的条形图,比较火的那种动态条形图绝大多数也都是横向的条形图,那么横向的条形图如何绘制呢?
理解plt.bar()主要参数
其实也不难,只要清楚plt.bar()函数中主要参数的作用就可以了!条形图函数中有五个主要参数,分别是x,height,width,bottom,orientation 。其中x控制的是每个条在x轴上位置 , height控制的是每个条的长度,width控制的是每个条的宽度 , bottom控制的是每个条在y轴方向的起始位置 , orientation控制的是条形的方向,是纵向还是横向,默认是纵向的 。
通过一个小例子理解下这几个参数的作用:
上边的几行代码输出的图形如下:
对比着代码和实际输出的条形图,各个主要参数的作用是不是一目了然啦?
横向条形图
理解了这几个参数作用后 , 纵向的条形图转换成横向的条形图就没什么难度了!
需要设置所有条形在x轴的位置都为0,也就全部从最左侧开始画条形;由于是横向条形图,所以实际上条的宽度显示的是数据大小,将width参数设置成原数据中的语文成绩;bottom控制每个条在y轴方向的起始位置,设置bottom=range(10)设置每个条形在y轴的起始位置各不相同避免有条形重叠;height控制的是每个条在y轴方向上的长度 , 条形图横向设置后,在y轴上的长度失去了衡量数据的意义 , 所以直接设置一个常数即可;最后设置条形的方向为横向 , 即orientation=“horizontal” 。
温馨提示:数据和标签一定要匹配,即plt.bar()重点的数据要和plt.yticks()中提取出来的标签一一对应,一旦不匹配,整个图展现的结果就是一个错误的结果!
上述代码生成的条形图如下:
感觉上边这种生成横向条形图的方式有点点绕,和人们的习惯认知有点不大一样,难道画一个横向条形图就非得转变自己的习惯认知这么反人类吗?
当然不是的 , 实际上有更简单的方法绘制一个横向条形图,之所以没有一开始就直接用这种简单的方法,也是为了让大家体会下条形图参数的灵活设置而已,而且如果比较绕的方法都能理解了,简单的方法理解和运用起来就更没有难度了?。?
不卖关子了,我们来认识下和plt.bar()函数类似的plt.barh()函数 。
plt.barh()函数是专门绘制水平条形图的函数,主要的参数有:
y 控制y轴显示的标签来源width 控制横向条形的长度,即用来进行对比的数据源height 条形的宽度需要设置的参数主要就是这三个 , 比用plt.bar()函数绘制水平条形图简单了很多,具体代码如下:
效果图:
和用plt.bar()函数绘制的横向条形图一毛一样对不对?以后有需求绘制横向条形图,尽量用plt.barh()函数吧,毕竟它是专门绘制这种类型图的 , 简单好用 。
然而实际工作中对于条形图的需求不只是这些,比如例子中只是对各个学校语文成绩的展示,有时候需要各个学科的成绩同时展现在一幅条形图中,有时候也需要绘制堆积条形图对各学科的成绩以及总成绩进行展示,这些图又该如何绘制呢?其实只要理解了各个参数的含义,绘制这些图也不在话下,至于具体怎么画 , 且看下回分解?。?
如何用python绘制各种图形1.环境
系统:windows10
python版本:python3.6.1
使用的库:matplotlibpython条形图函数,numpy
2.numpy库产生随机数几种方法
import numpy as np
numpy.random
rand(d0, d1, ..., dn)
In [2]: x=np.random.rand(2,5)
In [3]: x
Out[3]:
array([[ 0.84286554,0.50007593,0.66500549,0.97387807,0.03993009],
[ 0.46391661,0.50717355,0.21527461,0.92692517,0.2567891 ]])
randn(d0, d1, ..., dn)查询结果为标准正态分布
In [4]: x=np.random.randn(2,5)
In [5]: x
Out[5]:
array([[-0.77195196,0.26651203, -0.35045793, -0.0210377 ,0.89749635],
[-0.20229338,1.44852833, -0.10858996, -1.65034606, -0.39793635]])
randint(low,high,size)
生成low到high之间(半开区间 [low, high)),size个数据
In [6]: x=np.random.randint(1,8,4)
In [7]: x
Out[7]: array([4, 4, 2, 7])
random_integers(low,high,size)
生成low到high之间(闭区间 [low, high)),size个数据
In [10]: x=np.random.random_integers(2,10,5)
In [11]: x
Out[11]: array([7, 4, 5, 4, 2])
3.散点图
x x轴
y y轴
s圆点面积
c颜色
marker圆点形状
alpha圆点透明度#其python条形图函数他图也类似这种配置
N=50# height=np.random.randint(150,180,20)# weight=np.random.randint(80,150,20)
x=np.random.randn(N)
y=np.random.randn(N)
plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)
plt.show()
4.折线图
x=np.linspace(-10000,10000,100) #将-10到10等区间分成100份
y=x**2 x**3 x**7
plt.plot(x,y)
plt.show()
折线图使用plot函数
5.条形图
N=5
y=[20,10,30,25,15]
y1=np.random.randint(10,50,5)
x=np.random.randint(10,1000,N)
index=np.arange(N)
plt.bar(left=index,height=y,color='red',width=0.3)
plt.bar(left=index 0.3,height=y1,color='black',width=0.3)
plt.show()
orientation设置横向条形图
N=5
y=[20,10,30,25,15]
y1=np.random.randint(10,50,5)
x=np.random.randint(10,1000,N)
index=np.arange(N)# plt.bar(left=index,height=y,color='red',width=0.3)# plt.bar(left=index 0.3,height=y1,color='black',width=0.3)#plt.barh() 加了h就是横向的条形图,不用设置orientation
plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orientation='horizontal')
plt.show()
6.直方图
m1=100
sigma=20
x=m1 sigma*np.random.randn(2000)
plt.hist(x,bins=50,color="green",normed=True)
plt.show()
# #双变量的直方图# #颜色越深频率越高# #研究双变量的联合分布
#双变量的直方图#颜色越深频率越高#研究双变量的联合分布
x=np.random.rand(1000) 2
y=np.random.rand(1000) 3
plt.hist2d(x,y,bins=40)
plt.show()
7.饼状图
#设置x,y轴比例为1:1,从而达到一个正的圆
#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影
labes=['A','B','C','D']
fracs=[15,30,45,10]
explode=[0,0.1,0.05,0]#设置x,y轴比例为1:1,从而达到一个正的圆
plt.axes(aspect=1)#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影
plt.pie(x=fracs,labels=labes,autopct="%.0f%%",explode=explode,shadow=True)
plt.show()
8.箱型图
import matplotlib.pyplot as pltimport numpy as npdata=https://www.04ip.com/post/np.random.normal(loc=0,scale=1,size=1000)#sym 点的形状 , whis虚线的长度plt.boxplot(data,sym="o",whis=1.5)plt.show()
#sym 点的形状,whis虚线的长度
关于python条形图函数和python绘制条形图用什么函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读