基于Python+Matplotlib繪制漸變色扇形圖與等高線圖
漸變色扇形圖
使用 python - matplotlib 顏色地圖plt.cm模塊兒,來繪制出顏色漸變、更加好看的扇形圖。也稱彩虹圖,但是也不限于彩虹圖,可以選擇的顏色地圖(colormap)有:
Paired, autumn, rainbow, gray, spring, Darks。
下邊以顏色地圖rainbow為例(彩虹圖),寫出以下代碼,并展示各種顏色樣式下的圖像效果。
import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib import cm # 字體使用楷體 plt.rcParams['font.sans-serif'] = ['STKAITI'] plt.rcParams['axes.unicode_minus'] = False # 準(zhǔn)備數(shù)據(jù) shapes = ['安徽省', '云南省', '福建省', '河南省', '遼寧省', '重慶', '湖南省', '四川省', '北京', '上海', '廣西壯族自治區(qū)', '河北省', '浙江省', '江蘇省', '湖北省', '山東省', '廣東省'] values = [842, 866, 1187, 1405, 1495, 1620, 1717, 2313, 2378, 3070, 4332, 5841, 6482, 7785, 9358, 9818, 20254] s = pd.Series(values, index=shapes) labels = s.index sizes = s.values fig, ax = plt.subplots(figsize=(8, 8), facecolor='#cc00ff') # rainbow # 這里的len(sizes)是選擇的顏色的個數(shù),也是繪制餅圖的數(shù)據(jù)個數(shù), # 此處參數(shù)通常寫為np.arange(len(sizes))/len(sizes)形式,不用糾結(jié)太多關(guān)于其用法。 colors = cm.rainbow(np.arange(len(sizes))/len(sizes)) patches, texts, autotexts = ax.pie(sizes, labels=labels, autopct='%1.0f%%', startangle=180, colors=colors, pctdistance=0.8, textprops={'fontsize': 15, 'color': '#8B1A1A'}, ) ax.set_title('部分地區(qū)某指標(biāo)占比圖', loc='center', fontsize=25, color='blue') plt.show()
圖像效果如下:
除此之外,也可以調(diào)用cm模塊的get_cmap()方法來完成??梢詫υ摲椒ㄓ兴私猓ㄐ∴庇X得上邊展示的方法是更為方便的)。
以Paired顏色地圖 為例:
以顏色地圖autumn為例:
以顏色地圖gray為例:
以顏色地圖spring為例:
等高線
繪制等高線圖使用的是matplotlib.pyplot的contourf()方法。
該函數(shù)語法如下:
plt.contourf(X, Y, f(X,Y))
其中 X和Y都是二維數(shù)組。(meshgrid()方法作用后的 網(wǎng)格化 形式)
f(X,Y)指的是對X、和Y使用f()函數(shù)進(jìn)行計算的結(jié)果,計算的結(jié)果作為該坐標(biāo)點的高度。
一段可以參考的示例代碼如下:
import numpy as np import matplotlib.pyplot as plt # 計算x,y坐標(biāo)對應(yīng)的高度值 def fun(x, y): return (1-x/2+x**2+y**3) * np.exp(-x**2-y**2) # 設(shè)置個背景色 plt.figure(facecolor='#66ff33') n = 256 x = np.linspace(-3, 3, n) y = np.linspace(-3, 3, n) # 把x,y數(shù)據(jù)轉(zhuǎn)換為二維數(shù)據(jù)(網(wǎng)格化) X, Y = np.meshgrid(x, y) # 填充等高線 plt.contourf(X, Y, fun(X, Y)) # 顯示圖表 plt.show()
其中fun(x, y)是計算高度的公式,可以根據(jù)我們的需求自由定制。
繪制出的圖像效果呈現(xiàn)如下:
到此這篇關(guān)于基于Python+Matplotlib繪制漸變色扇形圖與等高線圖的文章就介紹到這了,更多相關(guān)Python Matplotlib扇形圖 等高線圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)一個服務(wù)器監(jiān)聽多個客戶端請求
這篇文章主要為大家詳細(xì)介紹了Python如何實現(xiàn)一個服務(wù)器監(jiān)聽多個客戶端請求,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04Python定時任務(wù)APScheduler的實例實例詳解
APScheduler 支持三種調(diào)度任務(wù):固定時間間隔,固定時間點(日期),Linux 下的 Crontab 命令。這篇文章主要介紹了Python定時任務(wù)APScheduler的使用,需要的朋友可以參考下2019-07-07python通過函數(shù)名調(diào)用函數(shù)的幾種場景
這篇文章主要介紹了python通過函數(shù)名調(diào)用函數(shù)的幾種場景,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-09-09