python下matplotlib、pandas的橫型條狀圖作圖逐步深入分析


1.橫型條形圖

2.代碼1:

import matplotlib.pyplot as plt
import matplotlib

from matplotlib import font_manager # 第一步,導出通用字體設置
#第二步,引出字體模塊和位置
my_font = font_manager.FontProperties(fname="hwxk.ttf",size=20)
#如果不設置,就是默認大小,這里的15=1500,6=600,大小為1500和600像素
plt.figure(figsize=(15, 6))
#5組數據的比較
price = [39.5, 39.9, 45.4, 38.9, 33.34]
plat=['亞馬遜', '當當網', '中國圖書網', '京東', '天貓']
"""
繪制水平條形圖方法barh
參數一:y軸
參數二:x軸
"""
plt.barh(range(5), price, height=0.7, color='pink', alpha=0.8) # 從下往上畫
plt.yticks(range(5), plat,fontproperties=my_font)
plt.xlim(30,47) #30~47,各1
#第三步,增加u和fontproperties=my_font,可加u可不加u
plt.xlabel(u"價格",fontproperties=my_font)
plt.ylabel(u'公司',fontproperties=my_font)
plt.title(u"不同平台圖書價格",fontproperties=my_font)

#這是設置柱狀條上面的數值,來自price
for x, y in enumerate(price):
plt.text(y + 0.2, x - 0.1, '%s' % y)

plt.show()

 

3.圖1

4.修改一下,代碼2:

import matplotlib.pyplot as plt
import matplotlib

from matplotlib import font_manager # 第一步,導出通用字體設置
#第二步,引出字體模塊和位置
my_font = font_manager.FontProperties(fname="hwxk.ttf",size=20)
#如果不設置,就是默認大小,這里的15=1500,6=600,大小為1500和600像素
plt.figure(figsize=(15, 6))


#5組數據的比較
price = [39.5, 39.9, 45.4, 38.9, 33.4,37.3,38.7,37.9,41.5,39.9,39.2,42.3]
plat=['1月', '2月', '3月', '4月', '5月','6月','7月','8月','9月','10月','11月','12月']
"""
繪制水平條形圖方法barh
參數一:y軸
參數二:x軸
"""
plt.barh(range(12), price, height=0.7, color='lightgreen', alpha=0.8) # 從下往上畫
plt.yticks(range(12), plat,fontproperties=my_font)
plt.xlim(30,47) #30~47,各1
#第三步,增加u和fontproperties=my_font,可加u可不加u
plt.xlabel(u"系數",fontproperties=my_font)
plt.ylabel(u'月份',fontproperties=my_font)
plt.title(u"年度月份系數表",fontproperties=my_font)

#這是設置柱狀條上面的數值,來自price
for x, y in enumerate(price):
plt.text(y + 0.2, x - 0.1, '%s' % y)

plt.show()
View Code

 

5.圖2

6.數據圖3

7.代碼3:

import matplotlib.pyplot as plt
import matplotlib
import pandas as pd
import xlrd #讀取excel

from matplotlib import font_manager # 第一步,導出通用字體設置
#第二步,引出字體模塊和位置
my_font = font_manager.FontProperties(fname="hwxk.ttf",size=20)
#如果不設置,就是默認大小,這里的15=1500,6=600,大小為1500和600像素
plt.figure(figsize=(15, 6))

df=pd.read_excel('22.xls')
datax=df['month'] #讀取月份列,x軸數據
datay=df['data'] #讀取數據列,y軸數據


plt.barh(range(12), datay, height=0.7, color='lightgreen', alpha=0.8) # 從下往上畫
plt.yticks(range(12), datax,fontproperties=my_font)
plt.xlim(30,47) #30~47,各1
#第三步,增加u和fontproperties=my_font,可加u可不加u
plt.xlabel(u"系數",fontproperties=my_font)
plt.ylabel(u'月份',fontproperties=my_font)
plt.title(u"年度月份系數表",fontproperties=my_font)

#這是設置柱狀條上面的數值,來自price
for x, y in enumerate(datay):
plt.text(y + 0.2, x - 0.1, '%s' % y)

plt.show()
View Code

 

8.圖4


免責聲明!

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



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