python 数据可视化 条形图绘制

"""
author:魏振东
data:2019.12.13
func:条形图绘制
"""
import matplotlib.pyplot as plt
import numpy as np

# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 构建数据
x_data = ['2010', '2013','2016', '2018']
y_data = [412,592, 740, 900,]
y_data2 = [570, 515,492,497]
bar_width=0.3
# Y轴数据使用range(len(x_data), 就是0、1、2...
plt.barh(y=range(len(x_data)), width=y_data, label='中国',
    color='red', alpha=0.8, height=bar_width)
# Y轴数据使用np.arange(len(x_data))+bar_width,
# 就是bar_width、1+bar_width、2+bar_width...这样就和第一个柱状图并列了
plt.barh(y=np.arange(len(x_data))+bar_width, width=y_data2,
    label='日本', color='yellow', alpha=0.8, height=bar_width)

# 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for y, x in enumerate(y_data):
    plt.text(x, y-bar_width/2, '%s' % x, ha='center', va='bottom')
for y, x in enumerate(y_data2):
    plt.text(x, y+bar_width/2, '%s' % x, ha='center', va='bottom')
# 为Y轴设置刻度值
plt.yticks(np.arange(len(x_data))+bar_width/2, x_data)
# 设置标题
plt.title("中国和日本GDP对比图")
# 为两条坐标轴设置名称
plt.xlabel("GDP")
plt.ylabel("年份")
# 显示图例
plt.legend()
plt.show()

在这里插入图片描述

发布了39 篇原创文章 · 获赞 41 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wei_zhen_dong/article/details/103586366