欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python+Matplotlib繪制漸變色扇形圖與等高線圖

 更新時間:2022年04月14日 10:32:09   作者:侯小啾  
這篇文章主要為大家介紹了如何利用Python中的Matplotlib繪制漸變色扇形圖與等高線圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下方法

漸變色扇形圖

使用 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)文章

最新評論