使用matplotlib繪圖(二)之柱狀圖


# 使用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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM