Matplotlib сюжет зависает, экспорт xlwings в Excel

Я использовал этот ответ, чтобы создать гистограмму, на которой вы можете навести указатель мыши, чтобы увидеть значение y, см. Код и полученное изображение ниже.

import matplotlib.pyplot as plt
import numpy as np

# initialize plot
fig, ax = plt.subplots(nrows=1, ncols=1)

# create barplot
N = 10
ind = np.arange(N)
width = 0.35
bars1 = ax.bar(ind, np.random.randint(1, 10, N), width)

# fix xticks
labels = ['Label{}'.format(i+1) for i in range(N)]
ax.set_xticks(ind)
ax.set_xticklabels(labels, fontsize = 'medium', rotation = 'vertical')

# annotate
annot = ax.annotate("", xy=(0, 0), xytext=(-20, 20), textcoords="offset points",
                     bbox=dict(boxstyle="round", fc="black", ec="b", lw=2),
                     arrowprops=dict(arrowstyle="->"))
annot.set_visible(False)

def update_annot(bar):
    x = bar.get_x() + bar.get_width() / 2.
    y = bar.get_y() + bar.get_height()
    annot.xy = (x, y)
    text = "({:.2g})".format(y)
    annot.set_text(text)
    annot.get_bbox_patch().set_alpha(0.4)

def hover(event):
    vis = annot.get_visible()
    if event.inaxes == ax:
        for bar in bars1:
            cont, ind = bar.contains(event)
            if cont:
                update_annot(bar)
                annot.set_visible(True)
                fig.canvas.draw_idle()
                return
    if vis:
        annot.set_visible(False)
        fig.canvas.draw_idle()

# connect annotation to plot
fig.canvas.mpl_connect("motion_notify_event", hover)

введите здесь описание изображения

Однако при экспорте в новую электронную таблицу Excel с использованием этих строк

import xlwings as xw
workbook = xw.Book()
worksheet = workbook.sheets['Sheet1']
worksheet.pictures.add(fig)

, зависание больше не работает (в Excel). Можно ли создать интерактивный сюжет в matplotlib и экспортировать его в Excel, где функциональность остается?


person armara    schedule 25.07.2019    source источник
comment
Краткий ответ: Нет.   -  person ImportanceOfBeingErnest    schedule 25.07.2019
comment
Хорошо, спасибо за ответ. Если у вас есть какие-либо советы о том, где я могу прочитать некоторые возможные решения, дайте мне знать.   -  person armara    schedule 25.07.2019