我有一个循环,对于某个条件(例如发生3次),我想用twinx绘制两个数据集,所以例如最后我在左边有3个图,右边有3个图。 。当我使用通常的twinx时,循环对right-y采用不正确的值。我应该如何修改此示例代码以使其正确?非常感谢你!
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,100)
A=5
fig,ax=plt.subplots()
for i in range(0,10):
A=i**2
if(i%3==0):
ax.plot(x,A*np.sin(x),'-ro')
ax2=ax.twinx()
ax2.plot(x,A*x,'-bp')
plt.show()
答案 0 :(得分:2)
你需要移动你的" ax2"循环外的定义(见下文)。然而,这会产生七个图,左边四个,右边三个。你需要更新你的" if"条件。
[![import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,100)
A=5
fig,ax=plt.subplots()
ax2=ax.twinx()
for i in range(0,10):
A=i**2
if(i%3==0):
ax.plot(x,A*np.sin(x),'-ro')
ax2.plot(x,A*x,'-bp')
plt.show()][1]][1]