绘制一个横向条形图的示例
前言
使用barh
函数绘制横向的条形图,使用text
函数在图上展示数据
1.先看完整代码
代码如下(示例):
import matplotlib.pyplot as plt
# 设置中文字体格式:微软雅黑
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 准备数据
positive = [66, 54, 77]
negative = [12, 6, 8]
y_label = ['A品牌', 'B品牌', 'C品牌']
# 指定画布的尺寸与分辨率
plt.figure(figsize=(10, 6), dpi=80)
_y = list(range(len(positive)))
# 绘制横向条形图
plt.barh(_y, positive, height=0.7, color="g", label='销量')
plt.barh(_y, negative, height=0.7, color="r", label='退货量')
# 在横向条形图上添加数据
for (a, b, c) in zip(_y, positive, negative):
plt.text(b+6, a, str(b), color='g', fontsize=16)
plt.text(b+2, a, str(c), color='r', fontsize=16)
plt.title('3种品牌的销量对比', fontsize=16) # 添加标题
plt.yticks(_y, y_label, fontsize=16) # 添加y轴上的刻度
plt.xticks(list(range(100))[::10], fontsize=16) # 添加x轴上的标签
plt.xlabel(xlabel='不同品牌的销量与退货数', fontsize=16) # 添加x轴的标签
plt.legend(loc='lower right', fontsize=16) # 添加图例到右下角
# 保存图像到当前文件夹下,图像名称为 image.png
plt.savefig('./image.png')
# 展示图像
plt.show()
运行之后展示的图像如下:
2.barh()的使用
主要把握几个关键参数:
plt.barh(_y, positive, height=0.7, color="g", label='销量')
"""
:参数 y: 每一个横条的中心点所在的纵坐标
:参数 width: 每一个横条的长度
:参数 height: 每一个横条的高度
:参数 color: 颜色类型
:参数 label:标签名称
"""
3.text()的使用
主要把握几个关键参数:
# 官方定义如下
def text(self, x, y, s, fontdict=None, **kwargs):
# 对照我们的例子解释一下
plt.text(b+6, a, str(b), color='g', fontsize=16)
"""
:参数 x: 要展示文字的横坐标x
:参数 y: 要展示文字的纵坐标y
:参数 s: 要展示的文字
:我们使用的参数 color: 颜色类型
:我们使用的参数 fontsize:字体大小
"""
4.写在后面
更多用法,请点击查看官网,官网非常全面,但是需要花时间去理解