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

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章