我在for循环中有一个函数。该函数输出两个图y
和z
,它们以不同的图形绘制。我想创建一个图例,其中np.arange(0,20,5)
中的每个值在y
和z
数字中显示为c = XXX
,其中XXX是在c
内使用的import numpy as np
import matplotlib.pyplot as plt
def functions(c,x):
y = c*x
z = 0.5*c*x**2
return y,z
fig1 = plt.figure()
ax1 = fig1.add_subplot(111)
fig2 = plt.figure()
ax2 = fig2.add_subplot(111)
x = np.arange(-5,5)
for c in np.arange(0,20,5):
y,z = functions(c,x)
ax1.plot(x, y, lw=2, label='')
ax2.plot(x, z, lw=2, label='')
ax1.set_xlabel('x', fontsize=16)
ax1.set_ylabel('y', fontsize=16)
ax2.set_xlabel('x', fontsize=16)
ax2.set_ylabel('z', fontsize=16)
plt.show()
循环。
{{1}}
答案 0 :(得分:4)
当您将每个值绘制为新行时,您可以将标签设置为c值:
label = '%s'%c, ...
这意味着您添加图例
ax2.legend()
它将显示其中的所有c值。