在matplotlib中,bar命令用于绘制柱状图,基本用法如下在matplotlib中,bar命令用于绘制柱状图,基本用法如下在matplotlib中,bar命令用于绘制柱状图,基本用法如下在matplotlib中,bar命令用于绘制柱状图,基本用法如下在matplotlib中,bar命令用于绘制柱状图,基本用法如下
在matplotlib中,bar命令用于绘制柱状图,基本用法如下
1
|
plt.bar(x = [1, 2, 3, 4], height = [4, 2, 3, 1]) |
输出结果如下
参数x的值作为x轴坐标,height的值作为y轴坐标。除了这两个基本参数外,bar命令常用的还有以下参数
1. width, 柱子的宽度,即在x轴上的长度,默认是0.8
2. color, 柱子的填充色
3. edgecolor, 柱子边框的颜色,默认为None
4. linewidth, 柱子边框的宽度,默认为0,表示没有边框
5. yerr,指定误差值的大小, 用于在柱子上添加误差线
6. ecolor, 表示errorbar color, 误差线的颜色
7. bottom, 柱子底部的baseline, 默认为0
各个参数设置的示例如下
1
|
plt.bar(x = [ 1 , 2 , 3 , 4 ], height = [ 4 , 2 , 3 , 1 ], width = 0.8 , edgecolor = 'black' , linewidth = 2 , align = 'center' , color = 'g' , yerr = 0.5 , ecolor = 'r' ) |
输出结果如下
柱状图还可以有很多的变种,通过barh命令,可以绘制水平方向的柱状图,用法如下
1
|
plt.barh(y = [ 1 , 2 , 3 , 4 ], width = [ 4 , 2 , 3 , 1 ]) |
输出结果如下
在单一柱状图的基础上,通过叠加可以实现以下两种柱状图
1. 堆积柱状图
代码如下
1
2
3
|
plt.bar(x = [ 1 , 2 , 3 , 4 ], height = [ 4 , 3 , 2 , 1 ], label = 'sampleA' ) plt.bar(x = [ 1 , 2 , 3 , 4 ], height = [ 4 , 3 , 2 , 1 ], bottom = [ 4 , 3 , 2 , 1 ], label = 'sampleB' ) plt.legend() |
核心是通过将第一组柱子的高度作为第二组柱子的底部,即bottom参数,从而实现堆积的效果,输出结果如下
2. 分组柱状图
代码如下
1
2
3
4
|
width = 0.4 plt.bar(x = np.array([ 1 , 2 , 3 , 4 ]) - width / 2 , height = [ 4 , 3 , 2 , 1 ], width = width, label = 'sampleA' ) plt.bar(x = np.array([ 1 , 2 , 3 , 4 ]) + width / 2 , height = [ 1 , 2 , 3 , 4 ], width = width, label = 'sampleB' ) plt.legend() |
核心是根据宽度的值,手动计算柱子的中心坐标,然后自然叠加就可以形成水平展开的分组柱状图,输出结果如下
matplotlib并不像R包ggplot2那样,提供了一步到位的接口,而是通过叠加组合最大程度的保留了灵活性,通过一行行绘图代码的叠加来实现复杂图表。
到此这篇关于matplotlib基础绘图命令之bar的使用方法的文章就介绍到这了,更多相关matplotlib bar使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_43569478/article/details/107455113