【发布时间】:2020-04-21 13:18:59
【问题描述】:
考虑以下示例:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(4,6))
axis = fig.add_subplot(111)
x = np.linspace(1,2,100)
axis.plot(x, x, label = "a")
axis.plot(x, x**2, label = "b")
axis.plot(x, x**3, label = "c")
axis.plot(x, x**4, label = "d")
axis.legend()
plt.show()
有没有一种简单的方法可以在不更改代码顺序的情况下相互交换第一个对象(a 用蓝线)和最后一个对象(d 用红线)。因此,图例应显示顺序(从上到下):
- 红线d
- 橙线b
- 绿线c
- 蓝色处理一个
【问题讨论】:
-
您也可以在
plot()函数中提及绘图的颜色。axis.plot(x, x, '#0f0f0f', label="a")在这种情况下,十六进制颜色代码已用于选择颜色。更多选项可以查看matplotlib.org/3.1.1/tutorials/colors/colors.html -
我可能说错了。我想交换图例中的第一个和最后一个对象(= 彩色线 + 文本)
标签: python matplotlib legend