如何使matplotlib标题可搜索?

时间:2018-10-08 09:13:18

标签: python html python-3.x matplotlib plot

我正在生产数百个matplotlib图,我在Jupyter Notebook中工作。每个人都有自己的标题。我希望能够搜索这些标题。因此,当我将文件下载为html并在浏览器中打开时,我想使用ctrl-f查找标题。我该怎么办?


更多详细信息,这是MCVE:

import matplotlib.pyplot as plt

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

for i in range(6):
    plt.figure()
    plt.plot(x,y)
    plt.title("Title"+str(i))

这会产生漂亮的图,标题为Title0 Title1 ... Title5。但是,这些标题是文件的一部分,无法通过ctrl-f进行搜索,或者尽管希望这样做,但浏览器无法将它们检测为文本。

我可以在gnuplot中做到这一点,但现在我想坚持使用Python。

2 个答案:

答案 0 :(得分:1)

您可以在Jupyter笔记本中生成减价。试试这个:

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from IPython.display import display, Markdown

display(Markdown('Title of graph goes here'))
x = np.linspace(0, 10, 30)
y = np.sin(x)

plt.plot(x, y, 'o', color='black');

编辑:我刚刚意识到,在您的示例中,所有标题都将在图形之前打印。解决方案是:

import matplotlib.pyplot as plt
# DO NOT USE %matplotlib inline
x=range(5);y=range(5)

for i in range(6):
    ax = plt.figure()
    _ = plt.plot(x,y)
    title = "Title"+str(i)

    display(Markdown(title))
    display(ax)

答案 1 :(得分:1)

您可以print为每个图形加上标题(在这种情况下为plt.show()):

import matplotlib.pyplot as plt

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

for i in range(2):
    plt.figure()
    plt.plot(x,y)
    plt.title("Title"+str(i))
    print("Title"+str(i))
    plt.show()