Как добавить метку для сюжета в matplotlib - PullRequest
0 голосов
/ 26 марта 2020

Это график: enter image description here

Мне нужно добавить метку к линиям графика. Синяя линия обозначает левую, а красная линия обозначает правую. Как я могу это сделать? Я использовал set_ylabel, но это добавило метку слева от графика, как показано на нем.

    self.fig = Figure(figsize=(6, 4), dpi=96)
    self.ax =  self.fig.add_subplot(111)
    self.graph = FigureCanvasTkAgg(self.fig, master=self.win)
    self.canvas = self.graph.get_tk_widget()
    a = self.df["index"].unique()
    line, = self.ax.plot(a,self.df.loc[self.df.foot == "right","total_force"].values)
    self.ax.set_ylabel("right")
    line2, = self.ax.plot(a,self.df.loc[self.df.foot == "left","total_force"].values)
    self.clean_button()
    self.clean_flush()
    self.canvas.place(x= 150, y = 5)

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

При вызове метода plot() необходимо указать что-то большее: вместо

line, = self.ax.plot(a,self.df.loc[self.df.foot == "right","total_force"].values)

Использовать

line, = self.ax.plot(a,self.df.loc[self.df.foot == "right","total_force"].values,
                     label = "right")

line2, = self.ax.plot(a,self.df.loc[self.df.foot == "left","total_force"].values
                      label = "left") 

И затем показать легенду, используя:

self.ax.legend()
0 голосов
/ 26 марта 2020

Используйте легенду, как описано здесь: https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.legend.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...