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()