Как добавить маркеры в график, используя Python, как показано ниже?

#python #python-3.x #matplotlib

#python #python-3.x #matplotlib

Вопрос:

Я хочу создать график, подобный приведенному ниже, но я не знаю, как добавить маркеры, подобные показанному на графике. Кто-нибудь может мне помочь с этим?

Для построения графика я использую matplotlib package in python .

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

Комментарии:

1. вы просматривали аннотации из matplotlib? matplotlib.org/gallery/pyplots /…

Ответ №1:

Из аннотаций документа matplotlib вы можете изменить пример с помощью кода

 import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

t = np.arange(0.0, 5.0, 0.01)
s = np.cos(2*np.pi*t)
line, = ax.plot(t, s, lw=2)



ax.plot(2, 1, marker = "v", color='blue', fillstyle='none')
bbox_props = dict(boxstyle="square,pad=0.3", fc="white", ec="black", lw=1.2)
t = ax.annotate('local maxn x = 2, y = 1', xy=(2, 1), xytext=(3, 1.5),
        arrowprops=dict(arrowstyle="-", facecolor='black'), bbox=bbox_props,
        )

ax.set_ylim(-2, 2)
plt.show()
  

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

Комментарии:

1. Большое спасибо за помощь!!

Ответ №2:

Вы можете использовать фреймворк Bokeh в качестве альтернативы matplotlib. (Лично я нахожу это намного лучше.)

 for plot in [p1, p3, p5]:
        plot.add_tools(HoverTool(
            tooltips=[
                ("(x,y, name)", "($x, $y, $name"),  # use @{ } for field names with spaces
            ],
        formatters={
            'date': 'datetime',  # use 'datetime' formatter for 'date' field
            'adj close': 'printf',  # use 'printf' formatter for 'adj close' field
            # use default 'numeral' formatter for other fields
        },

        # display a tooltip whenever the cursor is vertically in line with a glyph
        # mode='hline'
        mode='mouse'
    ))
  

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

Комментарии:

1. Обязательно попробуем это!! Спасибо!!