кольцевая диаграмма рядом - PullRequest
0 голосов
/ 16 января 2019

Я бы хотел иметь две кольцевые диаграммы, В настоящее время у меня есть круговая диаграмма и пончик рядом.

Кольцевая диаграмма

вот мой код, мне нужен цикл?

recipe = "flour","sugar","egg","butter","milk","yeast"
fracs = [15, 30, 45, 10]
data = [225, 90, 50, 60, 100, 5]

fig = plt.figure()

ax1 = fig.add_axes([0, 0, .5, .5], aspect=1)
ax1.pie(data, labels=recipe, radius = 1.2)
ax2 = fig.add_axes([.5, .0, .5, .5], aspect=1)
ax2.pie(data, labels=recipe, radius = 1.2)
circle = plt.Circle((0,0), 0.7, color='white')
p=plt.gcf()
p.gca().add_artist(circle)
ax1.set_title('A donut', y=1.1)
ax2.set_title('A donut',y=1.1)
plt.savefig('donut1.png')
plt.show()

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Да, вы можете сделать это с помощью loop +, используя wedgeprops, как Криштиану Келер предложил в другом ответе:

import matplotlib.pyplot as plt

recipe = "flour", "sugar", "egg", "butter", "milk", "yeast"
fracs = [15, 30, 45, 10]
data = [225, 90, 50, 60, 100, 5]

fig = plt.figure()

for i in range(2):
    ax = fig.add_axes([i/2, .1, .5, .5], aspect=1)
    ax.pie(data, labels=recipe, radius=1.2, wedgeprops={'width': 0.5})
    ax.set_title('A donut {}'.format(i+1), y=1.1)
    plt.text(0, -1.6, 'Description {}'.format(i+1), ha='center')

plt.savefig('donut1.png')
plt.show()

enter image description here

0 голосов
/ 16 января 2019

Вы можете определить пончик, используя аргумент wedgeprops в pie.

inner_radius = 0.7
chart_radius = 1.2
wedge_props = dict(width=chart_radius-inner_radius)

ax1.pie(data, labels=recipe, radius=chart_radius, wedgeprops=wedge_props)
ax2.pie(data, labels=recipe, radius=chart_radius, wedgeprops=wedge_props)
...