柱狀圖使用實例1
import matplotlib.pyplot as plt
import numpy as np
#三天中三部電影的票房變化
real_names=['千與千尋','玩具總動員4','黑衣人:全球追緝']
real_num1=[5453,7548,6543] #第一天的票房數
real_num2=[1840,4013,3421] #第二天的票房數
real_num3=[1080,1673,2342] #第三天的票房數
#繪制柱狀圖
x=np.arange(len(real_names)) #即np.range(3)
#這樣子連續畫三天的柱狀圖,會導致重疊
plt.bar(x,real_num1) #第一天的柱狀圖
plt.bar(x,real_num2) #第二天的柱狀圖
plt.bar(x,real_num3) #第三天的柱狀圖
plt.show()
實例柱狀圖1.png
柱狀圖使用實例2
import matplotlib.pyplot as plt
import numpy as np
#三天中三部電影的票房變化
real_names=['千與千尋','玩具總動員4','黑衣人:全球追緝']
real_num1=[5453,7548,6543] #第一天的票房數
real_num2=[1840,4013,3421] #第二天的票房數
real_num3=[1080,1673,2342] #第三天的票房數
#繪制柱狀圖
x=np.arange(len(real_names)) #即np.range(3)
#這樣子連續畫三天的柱狀圖,會導致重疊
"""
plt.bar(x,real_num1,alpha=0.7,width=0.3) #第一天的柱狀圖,alpha增加透明度,width設置柱狀圖的寬度
plt.bar(x,real_num2,alpha=0.7,width=0.3) #第二天的柱狀圖,alpha增加透明度,width設置柱狀圖的寬度
plt.bar(x,real_num3,alpha=0.7,width=0.3) #第三天的柱狀圖,alpha增加透明度,width設置柱狀圖的寬度
"""
#為了第二天的柱狀圖和第一天的柱狀圖不重疊,即畫第二天的柱狀圖時x軸的坐標值要有變化:[i+0.3 for i in x]
#為了第三天的柱狀圖和第二天的柱狀圖不重疊,即畫第三天的柱狀圖時x軸的坐標值要有變化:[i+0.3*2 for i in x]
plt.bar(x,real_num1,alpha=0.7,width=0.3,label=real_names[0]) #第一天的柱狀圖,alpha增加透明度,width設置柱狀圖的寬度
plt.bar([i+0.3 for i in x],real_num2,alpha=0.7,width=0.3,label=real_names[1]) #第二天的柱狀圖,alpha增加透明度,width設置柱狀圖的寬度
plt.bar([i+0.3*2 for i in x],real_num3,alpha=0.7,width=0.3,label=real_names[2]) #第三天的柱狀圖,alpha增加透明度,width設置柱狀圖的寬度
#設置字體,解決中文亂碼
plt.rcParams['font.sans-serif']=['SimHei']
#為x軸的坐標值添加名稱
x_ticks=['第{}天'.format(i+1) for i in x]
#print(x_ticks)
plt.xticks(x,x_ticks) #這樣添加的x軸的坐標值,都在第一天的x坐標上,不在中間位置
plt.xticks([i+0.3 for i in x],x_ticks) #這樣添加的x軸的坐標值,都在第二天的x坐標上,在中間的位置
#為x軸、y軸添加名稱
plt.xlabel('天數')
plt.ylabel('票房數')
#添加圖例
plt.legend()
#為圖標添加表名(標簽名)
plt.title("3天3部電影票房數")
plt.show()
實例柱狀圖2.png