この記事の例では、参照用にpythonで円形グラフを描画するための特定のコードを共有しています。具体的な内容は次のとおりです。
import os
import pandas as pd
import matplotlib.pyplot as plt
import random
import numpy as np
# グラデーションカラーのリストを取得する
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 inrange(number -1):
# 0より大きい.5は緑のグラデーションで、青のグラデーションよりも小さい
if gradual2 =0.5:
g =1if((1- h)/ number)1else(g +(1- h)/ number)else:
b =1if((1- h)/ number)1else(b +(1- h)/ number)
colors.append((r, g, b,1))return colors
# 緑の数を取得します,standardRedIndexは、その色を赤に変更することです
def listGreen(number, standardRedIndex):
colors =[]for i inrange(number):if i == standardRedIndex -1:
colors.append('r')else:
colors.append('#6CAD4F')return colors
# リングチャートを描く
def circularGraph(outerData, innerData, labels, standardRedIndex):
data = pd.DataFrame([outerData, innerData], columns=labels)
# 中国語が表示されるようにフォントを設定します
plt.rcParams['font.sans-serif']='Microsoft YaHei'
plt.rcParams['axes.unicode_minus']= False
plt.figure(figsize=(8,5))
colors =gradual(len(labels))
# データ内部ループ
plt.pie(data.iloc[1,:], radius=0.65, wedgeprops=dict(width=0.3, edgecolor='w'), colors=colors)
# データ外部ループ
plt.pie(data.iloc[0,:], radius=1, wedgeprops=dict(width=0.3, edgecolor='w'),
colors=listGreen(len(labels), standardRedIndex))
# 斧ラベルを取得
ax = plt.subplot(1,1,1)
# locは場所、bboxです_to_アンカーは位置座標であり、borderaxespadは凡例をframeonの外側に配置します=Falseは凡例の境界線を削除します
# bbox_to_アンカーの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],['メチオバチルス','ホールドマニア','フェカリ','ルーメンバクテリア','フェカリ','フェカリ','ルーメンバクテリア','フェカリ','フェカリ','ルーメンバクテリア','フェカリ'],3)
よりエキサイティングなコンテンツについては、トピック「Python画像処理操作」をクリックしてください。
以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。
Recommended Posts