用python画面积图_Python笔记:用matplotlib绘制面积图
用pyecharts繪制出來的面積圖、圓環圖太有個性了,未免感覺有點“高處不勝寒”。今晚雖然休息,但繼用matplotlib繪制折線圖之后,我又心血來潮地想用matplotlib來制作一點面積圖,因為這在零售行業也是常用的可視化圖形之一。具體如下:
繪制常規面積圖(餅圖):
# 導入庫
import matplotlib.pyplot as plt
import numpy as np
# 在線顯示
%matplotlib inline
# 讓中文標簽正常顯示
plt.rcParams["font.sans-serif"] = ["SimHei"]
# 讓負號正常顯示
plt.rcParams["axes.unicode_minus"] = False
# 調整畫布的大小
fig = plt.figure(figsize = (10,10))
# 準備待傳入的參數
# 數值
data=[100,125,135,145,150]
# 各扇區的我顏色
colors = ["DarkMagenta", "Teal", "pink", "SlateGray", "Tomato"]
# 對應的標簽
labels = ["蔬菜", "水果", "水產", "豬肉", "綜合"]
# 直接繪制出一個簡單而又原始的餅圖
# plt.pie(data, labels = labels)
# 調整各扇區的顏色
# plt.pie(data, labels = labels, colors = colors)
# autopct 讓百分比正常顯示
# plt.pie(data, colors = colors, labels = labels,autopct = " %1.1f%% ")
# labeldistance 調節各扇區標簽距離圓心的距離
# plt.pie(data, colors = colors, labels = labels,autopct = " %1.1f%% ",labeldistance = 0.4)
# radius 調整扇形的大小
# plt.pie(data, colors = colors, labels = labels,autopct = " %1.1f%% ",labeldistance = 0.4, radius = 1)
# counterclock 調整指針方向,True是逆時針,False是順時針
# plt.pie(data, colors = colors, labels = labels,autopct = " %1.1f%% ",labeldistance = 0.4, radius = 1,counterclock = False)
# center 調整圖表中心位置
plt.pie(data, colors = colors, labels = labels,autopct = " %1.1f%% ",labeldistance = 0.4, radius = 1,counterclock = False,center = (0.5, 0.5))
# 保存輸出餅圖
plt.savefig(r"C:\Users\QDM\Desktop\餅圖.png")
可視化結果:
繪制圓環圖:
# 導入庫
import matplotlib.pyplot as plt
import numpy as np
# 在線顯示
%matplotlib inline
# 讓中文標簽正常顯示
plt.rcParams["font.sans-serif"] = ["SimHei"]
# 讓負號正常顯示
plt.rcParams["axes.unicode_minus"] = False
# 調整畫布的大小
fig = plt.figure(figsize = (10,6))
# 模擬數據
x=[16,41,60]
# 繪制一個我們自己所需要呈現的面積圖
# plt.pie(x, labels=["上午銷售占比", "下午銷售占比", "晚上銷售占比"])
# 自定義各段區間的顏色
# plt.pie(x, labels=["上午銷售占比", "下午銷售占比", "晚上銷售占比"],colors = ["m","Crimson","blue"])
# 顯示百分比
# plt.pie(x, labels=["上午銷售占比", "下午銷售占比", "晚上銷售占比"],colors = ["m","Crimson","blue"],autopct = " %1.1f%% ")
# 調整百分比所顯示的位置
plt.pie(x, labels=["上午銷售占比", "下午銷售占比", "晚上銷售占比"],colors = ["m","Crimson","SteelBlue"],autopct = " %1.1f%% ",pctdistance = 0.8)
# plt.pie(x, labels=["上午銷售占比", "下午銷售占比", "晚上銷售占比"],colors = ["m","#f00056","Orchid"],autopct = " %1.1f%% ",pctdistance = 0.8,labeldistance = 1)
# 在第一個餅圖的基礎上再畫一個顏色為白色,半徑較小的餅圖進行覆蓋,就可以畫出圓環圖
plt.pie([1],colors = "w",radius = 0.6)
plt.axis("equal")
plt.legend()
# 保存輸出環形圖
plt.savefig(r"C:\Users\QDM\Desktop\環形圖.png")
可視化結果:
繪制另類的混合圖形:
# 導入庫
import matplotlib.pyplot as plt
import numpy as np
# 在線顯示
%matplotlib inline
# 讓中文標簽正常顯示
plt.rcParams["font.sans-serif"] = ["SimHei"]
# 讓負號正常顯示
plt.rcParams["axes.unicode_minus"] = False
# 調整畫布的大小
fig = plt.figure(figsize = (10,6))
# 構造數據
a = [0.4, 0.15, 0.2, 0.1, 0.15]
b = [0.3, 0.25, 0.16, 0.14, 0.15]
label=["蘋果", "雪梨", "西瓜", "菠蘿", "香瓜"]
# 繪制外圓
plt.pie(a,autopct = " %1.1f%% ", pctdistance = 0.85,labels = label)
# 繪制內圓
plt.pie(b,radius = 0.7, autopct = " %1.1f%% ",pctdistance = 0.78,)
plt.axis("equal")
# 保存輸出混合面積圖
plt.savefig(r"C:\Users\QDM\Desktop\混合面積圖.png")
可視化結果:
小結:雖然不完美,但是歸納知識的過程很是愉悅!
總結
以上是生活随笔為你收集整理的用python画面积图_Python笔记:用matplotlib绘制面积图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle用户获取datameta权限
- 下一篇: python读取文件路径报invalid