# 使用matplotlib繪制柱狀圖
import numpy as np
import matplotlib.pyplot as plt
# 設置全局字體,以支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']
# 解決‘-’表現為方塊的問題
plt.rcParams['axes.unicode_minus'] = False
data = {
'南京':(60, '#7199cf'),
'上海':(45, '#4fc4aa'),
'北京':(120, '#ffff10'),
}
fig = plt.figure(figsize=(12,8))
# 創建繪圖區域
ax1 = fig.add_subplot(111)
ax1.set_title('柱狀圖')
# 生成x軸的每個元素的位置,列表是[1,2,3]
xticks = np.arange(1,4)
# 自定義柱狀圖的每個柱的寬度
bar_width = 0.5
cities = data.keys()
values = [x[0] for x in data.values()]
colors = [x[1] for x in data.values()]
# 畫柱狀圖,設置柱的邊緣為透明
bars = ax1.bar(xticks, values, width=bar_width, edgecolor='none')
# 設置x,y軸的標簽
ax1.set_xlabel('城市')
ax1.set_ylabel('數值')
ax1.set_xticks(xticks)
ax1.set_xticklabels(cities)
# 設置x,y軸的范圍
ax1.set_xlim([0.5, 3.5])
ax1.set_ylim([0,125])
# 給每一個bar分配顏色
for bar, color in zip(bars, colors):
bar.set_color(color)
plt.savefig('bar.jpg')
plt.show()
