我在for循环中有一个函数。函数输出两个图y
和z
,它们分别绘制在不同的图中。我想创建一个图例,其中np.arange(0,20,5)
和y
图中的z
中的每个值都显示为c = XXX
,其中XXX是for循环内使用的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()
最佳答案
在将每个值绘制为新行时,只需将标签设置为c值:
label = '%s'%c, ...
这意味着当您添加图例时
ax2.legend()
它将显示其中的所有c值。
关于python - Python在for循环中显示迭代图例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25394166/