1

我正在尝试找到一种方法在 python 中绘制许多图形,每个图形对应一个可点击的 url(可能在标题中?)在我正在使用 pandas 数据框的那一刻,使用下面的代码:

with PdfPages("output.pdf") as pdf:
    for df in filtered_dfs:
    # get url:
        my_url = df['url'].unique()[0]
        df.plot(x='time', y='value', kind='line', title=my_url)


        # add a page to the pdf
        pdf.savefig()
        plt.close()

不幸的是,我似乎无法找到一种方法来调整此代码以使我的图表标题可点击链接以打开此 url。

有没有办法做我想做的事?

编辑:这段代码做我想做的事:

    import matplotlib
matplotlib.use("pgf")
pgf_with_custom_preamble = {
    "text.usetex": True,
    "pgf.preamble": [
        r"\usepackage{hyperref}"
        ]
}
matplotlib.rcParams.update(pgf_with_custom_preamble)
from matplotlib import pyplot as plt

x = range(5)
y = range(5)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y, "r-", label=r"Hyperlink: \url{http://google.com}")

ax.legend()

fig.savefig("mwe.pdf")

但是我还没有成功地将它实现到我的代码中:

# # result plotting
# plt.rcParams.update({'font.size': 3})
pgf_with_custom_preamble = {
    "text.usetex": True,
    "pgf.preamble": [
        r"\usepackage{hyperref}"
        ]
}

with PdfPages("output.pdf") as pdf:
    for df in filtered_dfs:
    # get url:
        my_url = df['url'].unique()[0]
        df.plot(x='time', y='value', kind='line', label=r"Hyperlink: \url("+my_url+"}")


        # add a page to the pdf
        pdf.savefig()
        plt.close()
4

1 回答 1

0

您绝对应该看一下plotly graphsplotly dash,它们允许您使用 Python 制作可互操作的页面。

Dash 是允许您从 python 创建 HTML DOM 对象并将它们连接到 Data fetchers 和 Plotly Figures 以呈现数据的 API。

我建议您看一下这个视频,它对我的​​入门有很大帮助。

于 2020-08-21T20:30:58.983 回答