При щелчке на отдельном срезе круговой диаграммы должна быть открыта новая гистограмма с более подробной информацией об этом срезе. Я создал и круговую диаграмму, и гистограмму отдельно, но не смог связать их. Я создал их на Python IDLE
Я попробовал это на Python IDLE
plt.figure(figsize=(6,6))
ax = plt.axes([0.1, 0.1, 0.8, 0.8])
labels = 'Utilization', 'A', 'B', 'C'
fracs = [25,20,35, 20]
explode=(0.05, 0, 0, 0)
p = plt.pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%')
plt.title('Link Utilization', bbox={'facecolor':'0.8', 'pad':5})
w = p[0][0]
plt.show()
class PieEventHandler:
def __init__(self,p):
self.p = p
self.fig = p[0].figure
self.ax = p[0].axes
self.fig.canvas.mpl_connect('button_press_event', self.onpress)
self.fig.canvas.mpl_connect('button_press_event', self.onclick)
def onpress(self, event):
if event.inaxes!=self.ax:
return
for w in self.p:
(hit,_) = w.contains(event)
if hit:
print(w.get_label())
def onclick(self,event):
self.barchart()
def barchart():
objects = ('Python', 'C++', 'Java', 'Perl', 'Scala', 'Lisp')
y_pos = np.arange(len(objects))
performance = [10,8,14,4,2,1]
plt.bar(y_pos, performance, align='center', alpha=0.25)
plt.xticks(y_pos, objects)
plt.ylabel('Usage')
plt.title('Programming language usage')
plt.show()
handler = PieEventHandler(p[0])
Ожидаемый результат. Когда я нажимаю на круговую диаграмму, должна открываться подробная гистограмма этого среза. Фактический результат - печатается круговая диаграмма, а событие щелчка еще не работает.