У меня есть фрейм данных с Gut_list и процентами. Я хочу создать круговой график/график гоночной трассы с метками. Я видел сообщение в R ggplot о создании чего-то подобного с центром святости. Но я не уверен, как использовать ggplot в Python.
Мне нужен результат, аналогичный приведенному в следующей группе R. Но я хотел бы попробовать пакеты Python для создания таких графиков с помеченными значениями и легендами.
Создание круговой диаграммы с полым центром (также известной как график гоночной трассы)Пример данных:
Код: Выделить всё
gut_list = ("Micro1", "Micro2", "Micro3", "Micro4", "Micro5", "Micro6")
percent = (2, 77, 22, 41, 21, 9)
Код: Выделить всё
import matplotlib.pyplot as plt
from matplotlib import cm
from math import log10
gut_list = ("Micro1", "Micro2", "Micro3", "Micro4", "Micro5", "Micro6")
percent = [2, 77, 22, 41, 21, 9]
#number of data points
n = len(percent)
#find max value for full ring
k = 10 ** int(log10(max(percent)))
m = k * (1 + max(percent) // k)
#radius of donut chart
r = 1.5
#calculate width of each ring
w = r / n
#create colors along a chosen colormap
colors = [cm.PuBu(i / n) for i in range(n)]
#create figure, axis
fig, ax = plt.subplots()
ax.axis("equal")
for i in range(n):
innerring, _ = ax.pie([m - percent[i], percent[i]], radius = r - i * w, startangle = 90, colors = ["white", colors[i]])
plt.setp(innerring, width = w, edgecolor = "lightgrey")
plt.legend()
plt.show()
Ожидаемый результат (https:/ /i.sstatic.net/hOv9q.png)

Подробнее здесь: https://stackoverflow.com/questions/596 ... age-labels