如何在Python中创建具有不同大小切片的饼图?
我想写一些足球运动员的球探报告,为此我需要想象。其中一种是饼图。现在我需要一些饼图,如下所示,具有不同大小的切片(与切片所指示的内容数量成比例)。有人能给我建议怎么做吗?或者有任何链接到我可以学习的网站吗如何在Python中创建具有不同大小切片的饼图?,python,matplotlib,charts,pie-chart,Python,Matplotlib,Charts,Pie Chart,我想写一些足球运动员的球探报告,为此我需要想象。其中一种是饼图。现在我需要一些饼图,如下所示,具有不同大小的切片(与切片所指示的内容数量成比例)。有人能给我建议怎么做吗?或者有任何链接到我可以学习的网站吗 我以前使用过rose或极坐标条形图。这是一个例子 将plotly.express导入为px df=px.data.wind() 图=px.bar\u极坐标(df,r=“频率”,theta=“方向”, color=“strength”,template=“plotly\u深色”, 颜色\u离散\
我以前使用过
rose
或极坐标条形图
。这是一个例子
将plotly.express导入为px
df=px.data.wind()
图=px.bar\u极坐标(df,r=“频率”,theta=“方向”,
color=“strength”,template=“plotly\u深色”,
颜色\u离散\u序列=px.colors.sequential.Plasma\r)
图2(图3)
您正在寻找的被称为“雷达饼图”。它类似于更常用的“雷达图”,但我认为它看起来更好,因为它突出了数值,而不是专注于无意义的形状 足球数据集面临的挑战是,每个类别都有不同的比例,因此您希望将每个值绘制为某个最大值的百分比。我的代码将完成这一任务,但您需要注释原始值以完成这些图表 仅使用标准matplotlib库,使用极轴即可完成绘图。我从这里借用了代码()
(顺便说一句,你要找的词是)谢谢你,伙计。不知道实际名称的示例代码会有很大帮助。谢谢
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from math import pi
from random import random, seed
seed(12345)
# Generate dataset with 10 rows, different maxes
maxes = [5, 5, 5, 2, 2, 10, 10, 10, 10, 10]
df = pd.DataFrame(
data = {
'categories': ['category_{}'.format(x) for x, _ in enumerate(maxes)],
'scores': [random()*max for max in maxes],
'max_values': maxes,
},
)
df['pct'] = df['scores'] / df['max_values']
df = df.set_index('categories')
# Plot pie radar chart
N = df.shape[0]
theta = np.linspace(0.0, 2*np.pi, N, endpoint=False)
categories = df.index
df['radar_angles'] = theta
ax = plt.subplot(polar=True)
ax.bar(df['radar_angles'], df['pct'], width=2*pi/N, linewidth=2, edgecolor='k', alpha=0.5)
ax.set_xticks(theta)
ax.set_xticklabels(categories)
_ = ax.set_yticklabels([])