matplotlib基础绘图命令之bar

时间:2022-07-22
本文章向大家介绍matplotlib基础绘图命令之bar,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

欢迎关注”生信修炼手册”!

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

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

各个参数设置的示例如下

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命令,可以绘制水平方向的柱状图,用法如下

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

输出结果如下

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

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

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

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。