本文實例為大家分享了python畫環(huán)形圖的具體代碼,供大家參考,具體內(nèi)容如下

import os
import pandas as pd
import matplotlib.pyplot as plt
import random
import numpy as np
# 獲取漸變色的list
def gradual(number):
colors = []
h = 0.00001
gradual2 = random.uniform(0, 1)
r = gradual2
if gradual2 >= 0.5:
g = h
b = gradual2
else:
g = gradual2
b = h
colors.append((r, g, b, 1))
for i in range(number - 1):
# 大于0.5 則為綠色漸變,小于則為藍色漸變
if gradual2 >= 0.5:
g = 1 if ((1 - h) / number) > 1 else (g + (1 - h) / number)
else:
b = 1 if ((1 - h) / number) > 1 else (b + (1 - h) / number)
colors.append((r, g, b, 1))
return colors
# 獲取綠色的個數(shù),standardRedIndex為要將那個顏色改為紅色
def listGreen(number, standardRedIndex):
colors = []
for i in range(number):
if i == standardRedIndex - 1:
colors.append('r')
else:
colors.append('#6CAD4F')
return colors
# 畫環(huán)形圖
def circularGraph(outerData, innerData, labels, standardRedIndex):
data = pd.DataFrame([outerData, innerData], columns=labels)
# 設(shè)置字體這樣才可以顯示中文
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8, 5))
colors = gradual(len(labels))
# 數(shù)據(jù)內(nèi)環(huán)
plt.pie(data.iloc[1, :], radius=0.65, wedgeprops=dict(width=0.3, edgecolor='w'), colors=colors)
# 數(shù)據(jù)外環(huán)
plt.pie(data.iloc[0, :], radius=1, wedgeprops=dict(width=0.3, edgecolor='w'),
colors=listGreen(len(labels), standardRedIndex))
# 獲取ax label
ax = plt.subplot(1, 1, 1)
# loc是位置,bbox_to_anchor是位置坐標,borderaxespad將圖例放外面 frameon=False去掉圖例邊框
# bbox_to_anchor 的y坐標
y = -1 / 40 * len(labels) + 0.5
ax.legend(labels, loc=4, bbox_to_anchor=(1.3, y), borderaxespad=0., frameon=False)
plt.show()
circularGraph([30, 30, 20, 40, 20, 20, 40, 20, 20, 40, 20], [30, 30, 20, 40, 20, 20, 40, 20, 20, 40, 20],
['甲硫桿菌', '霍爾德曼氏菌屬', 'Faecali菌屬', '瘤胃菌屬', 'Faecali菌屬', 'Faecali菌屬', '瘤胃菌屬', 'Faecali菌屬', 'Faecali菌屬', '瘤胃菌屬', 'Faecali菌屬'], 3)
網(wǎng)站標題:python畫環(huán)形圖的方法-創(chuàng)新互聯(lián)
本文鏈接:http://www.chinadenli.net/article36/deedsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、動態(tài)網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、標簽優(yōu)化、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容