当前位置 : 主页 > 编程语言 > java >

matplotlib基础绘图命令之bar

来源:互联网 收集:自由互联 发布时间:2022-06-23
在matplotlib中,bar命令用于绘制柱状图,基本用法如下 plt.bar(x = [1, 2, 3, 4], height = [4, 2, 3, 1]) 输出结果如下 参数x的值作为x轴坐标,height的值作为y轴坐标。除了这两个基本参数外,bar命令

在matplotlib中,bar命令用于绘制柱状图,基本用法如下

plt.bar(x = [1, 2, 3, 4], height = [4, 2, 3, 1])

输出结果如下

matplotlib基础绘图命令之bar_公众号

参数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

各个参数设置的示例如下

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')

输出结果如下

matplotlib基础绘图命令之bar_公众号_02

柱状图还可以有很多的变种,通过barh命令,可以绘制水平方向的柱状图,用法如下

plt.barh(y = [1, 2, 3, 4], width = [4, 2, 3, 1])

输出结果如下

matplotlib基础绘图命令之bar_数据分析_03

在单一柱状图的基础上,通过叠加可以实现以下两种柱状图

1. 堆积柱状图

代码如下

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参数,从而实现堆积的效果,输出结果如下

matplotlib基础绘图命令之bar_公众号_04

2. 分组柱状图

代码如下

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基础绘图命令之bar_数据分析_05

matplotlib并不像R包ggplot2那样,提供了一步到位的接口,而是通过叠加组合最大程度的保留了灵活性,通过一行行绘图代码的叠加来实现复杂图表。

·end·


matplotlib基础绘图命令之bar_公众号_06

一个只分享干货的

生信公众号



上一篇:matplotlib基础绘图命令之errorbar
下一篇:没有了
网友评论