如何将Matplotlib中的雷达图与类似于饼图的类别合并

时间:2019-03-31 21:17:40

标签: python matplotlib charts

我正在尝试将matplotlib中的雷达图与饼图结合起来,以便在此处具有类似此示例的内容:

https://agilityhealthradar.com/wp-content/uploads/2016/07/TeamHealth_Web_Detailed_View_934-e1531225843825.png

如您所见,在图表的内部有一个雷达图,您可以在其中放置一些值,而在外面,则有不同的类别和子类别。我试图将matplotlib雷达图与饼图组合在一起,并在其中放置类别。但这失败了。有谁有一个好主意,如何在雷达图中添加一些类别,并为雷达图的不同部分添加子类别?

谢谢。

-----------------------编辑---------------------

按照建议,我试图将雷达图和饼图结合起来,但是我不知道为什么它看起来不像预期的那样。

plot example result with radar chart and a pie chart

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(8, 8), subplot_kw=dict(polar=True))
sizes = [32, 20, 15, 10, 10, 8, 5]
labels = 'apple', 'banana', 'cherry', 'durian', 'elderberries', 'figs', 'grapes'
d = ax.pie(sizes, labels=labels, radius=1, autopct='%1.1f%%', startangle=90, labeldistance=1.05)
ax.set(aspect="equal")
plt.show()

1 个答案:

答案 0 :(得分:0)

一个选择是在极坐标图的位置创建一个饼图。可能如下所示:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(8, 8), subplot_kw=dict(polar=True, zorder=1))
fig.subplots_adjust(left=0.3, right=0.7, top=0.7, bottom=0.3)

sizes = [32, 20, 15, 10, 10, 8, 5]
labels = 'apple', 'banana', 'cherry', 'durian', 'elderberries', 'figs', 'grapes'

ax2 = fig.add_subplot(111, label="pie axes", zorder=0)
d = ax2.pie(sizes, labels=labels, radius=1.75, autopct='%1.1f%%', startangle=90, labeldistance=1.05)
ax2.set(aspect="equal")
plt.show()

enter image description here