python matplotlib.pyplot 畫圖

1.matplotlib.pyplot柱狀圖

import matplotlib.pyplot as plt 
labels_count = [41,32,28,22,22,21,21,21,20,19]
labels_name = ["上海理賠管理小組","上海嘉定區外岡五金城營業部","上海浦東保稅區營業部","上海閔行區銀都路營業部",\
               "上海徐彙區凱旋路營業部","上海浦東張江高科營業部","上海松江永豐營業部","上海閘北區靈石路營業部",\
               "上海嘉定區徐行營業部","上海奉賢區金匯鎮金錢公路營業部"]
plt.figure()
plt.bar(labels_name,labels_count,color='pink')
plt.show()

在這裏插入圖片描述
2.問題1:柱狀圖沒有按給定順序排列
解決方案:使用plt.xticks()方法人爲修改x軸顯示順序,plt.bar函數中不要直接用x數組,使用arange()函數生成x軸刻度
問題2:橫軸文字疊加在一起
解決方案:將橫軸文字字體變小
問題3:中文顯示亂碼
解決方案:加一句代碼

plt.rcParams['font.sans-serif']=['SimHei'] #添加中文
import matplotlib.pyplot as plt 
labels_count = [41,32,28,22,22,21,21,21,20,19]
labels_name = ["上海理賠管理小組","上海嘉定區外岡五金城營業部","上海浦東保稅區營業部","上海閔行區銀都路營業部",\
               "上海徐彙區凱旋路營業部","上海浦東張江高科營業部","上海松江永豐營業部","上海閘北區靈石路營業部",\
               "上海嘉定區徐行營業部","上海奉賢區金匯鎮金錢公路營業部"]
plt.figure()
#plt.bar(labels_name,labels_count,color='skyblue')
plt.bar(range(len(labels_name)),labels_count,color='skyblue')
plt.xticks(range(len(labels_name)), labels_name,fontsize = 7)
plt.show()

在這裏插入圖片描述
3.給柱狀圖加上縱橫軸標籤,標題,並顯示柱狀圖對應數值,旋轉橫座標文字

import matplotlib.pyplot as plt 
labels_count = [41,32,28,22,22,21,21,21,20,19]
labels_name = ["上海理賠管理小組","上海嘉定區外岡五金城營業部","上海浦東保稅區營業部","上海閔行區銀都路營業部",\
               "上海徐彙區凱旋路營業部","上海浦東張江高科營業部","上海松江永豐營業部","上海閘北區靈石路營業部",\
               "上海嘉定區徐行營業部","上海奉賢區金匯鎮金錢公路營業部"]
plt.rcParams['font.sans-serif']=['SimHei'] #添加中文
plt.figure()
plt.bar(range(len(labels_name)),labels_count,color='skyblue')
plt.xticks(range(len(labels_name)), labels_name,fontsize = 7)
plt.xticks(rotation=345) 
plt.xlabel("網點名稱")
plt.ylabel("個數")
plt.title("各網點有效營銷個數")
for a,b in zip(range(len(labels_name)),labels_count):
    plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=12)
plt.show()

在這裏插入圖片描述
在這裏插入圖片描述
4.matplotlib.pyplot條狀圖

import matplotlib.pyplot as plt 
labels_count = [41,32,28,22,22,21,21,21,20,19]
labels_name = ["上海理賠管理小組","上海嘉定區外岡五金城營業部","上海浦東保稅區營業部","上海閔行區銀都路營業部",\
               "上海徐彙區凱旋路營業部","上海浦東張江高科營業部","上海松江永豐營業部","上海閘北區靈石路營業部",\
               "上海嘉定區徐行營業部","上海奉賢區金匯鎮金錢公路營業部"]
import matplotlib.pyplot as plt 
plt.rcParams['font.sans-serif']=['SimHei'] 
plt.figure()
plt.barh(range(len(labels_name)),labels_count,tick_label = labels_name,color='skyblue')
plt.title("各網點有效營銷個數")
for a,b in zip(range(len(labels_name)),labels_count):
    plt.text(b+1,a-0.2,  '%.0f' % b, ha='center', va= 'bottom',fontsize=12)
plt.show()   


5.matplotlib.pyplot餅狀圖

import matplotlib.pyplot as plt 
labels_count = [41,32,28,22,22,21,21,21,20,19]
labels_name = ["上海理賠管理小組","上海嘉定區外岡五金城營業部","上海浦東保稅區營業部","上海閔行區銀都路營業部",\
               "上海徐彙區凱旋路營業部","上海浦東張江高科營業部","上海松江永豐營業部","上海閘北區靈石路營業部",\
               "上海嘉定區徐行營業部","上海奉賢區金匯鎮金錢公路營業部"]
plt.rcParams['font.sans-serif']=['SimHei'] #添加中文
plt.figure(figsize=(6,9)) #調節圖形大小
colors = ['red','yellowgreen','lightskyblue','pink'] #每塊顏色定義
explode = (0,0,0.02,0) #將某一塊分割出來,值越大分割出的間隙越大
patches,text1,text2 = plt.pie(labels_count[:4],
                       explode=explode,
                       labels=labels_name[:4],
                       colors=colors,
                       labeldistance = 1.2,#圖例距圓心半徑倍距離
                       autopct = '%3.2f%%', #數值保留固定小數位
                       shadow = False, #無陰影設置
                       startangle =90, #逆時針起始角度設置
                       pctdistance = 0.6) #數值距圓心半徑倍數距離
#patches餅圖的返回值,texts1餅圖外label的文本,texts2餅圖內部文本
# x,y軸刻度設置一致,保證餅圖爲圓形
plt.axis('equal')
plt.legend()
plt.show()    

在這裏插入圖片描述

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