Как сделать заголовки Matplotlib доступными для поиска? - PullRequest
0 голосов
/ 08 октября 2018

Я создаю несколько сотен сюжетов 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 голосов
/ 08 октября 2018

Вы можете 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()
0 голосов
/ 08 октября 2018

Вы можете создать уценку в блокноте 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...