我想添加图例来说明a的不同值,图片中有6行,但是两个具有相同颜色的a具有相同的值aI想要添加一个图例中只有三行,表示不同颜色的$ a = 1 $,$ a = 2 $,$ a = 3 $。
请注意,此代码有一个循环,因此我不知道如何处理它。
import numpy as np
import math
import matplotlib.pyplot as plt
def f(a,x):
return a*x
def g(a,x):
return 5*a*x
const=[1,2,3]
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
colors=['r','b','g']
xArray=np.linspace(0,2,20)
for i in const:
ax.plot(xArray,f(i,xArray),color=colors[i-1])
ax.plot(xArray,g(i,xArray),color=colors[i-1],ls='--')
plt.show()
答案 0 :(得分:1)
仅在调用matplotlib.axes.Axes.plot()
时包含标签,并且提供字符串作为标签变量的参数(例如label ='???')。
例如,这会向图例添加(仅)三行:
import numpy as np
import math
import matplotlib.pyplot as plt
def f(a,x):
return a*x
def g(a,x):
return 5*a*x
const=[1,2,3]
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
colors=['r','b','g']
labels = ['a1', 'a2', 'a3']
xArray=np.linspace(0,2,20)
for i in const:
ax.plot(xArray,f(i,xArray), color=colors[i-1],
label=labels[i-1])
ax.plot(xArray,g(i,xArray), color=colors[i-1],ls='--')
plt.legend()
plt.show()