Python Matplotlib plt.plot与枚举不工作
现在,我需要使用不同的Python Matplotlib plt.plot与枚举不工作,python,for-loop,matplotlib,enumerate,Python,For Loop,Matplotlib,Enumerate,现在,我需要使用不同的array列表调用plot多次。因此无法删除我的for循环。除了调用plt.plot之外,还有其他方法绘制虚线吗 这是我得到的情节: 如您所见,我没有得到plt.plot(I[2],I[3],'g--')。为什么会这样? 但当您使用相同的for循环打印值时: import numpy as np import matplotlib.pyplot as plt array = np.array([[1,2,3,4,5,6],[10,20,30,40,50,60],[3
array
列表调用plot
多次。因此无法删除我的for
循环。除了调用plt.plot
之外,还有其他方法绘制虚线吗
这是我得到的情节:
如您所见,我没有得到plt.plot(I[2],I[3],'g--')
。为什么会这样?
但当您使用相同的for循环打印值时:
import numpy as np
import matplotlib.pyplot as plt
array = np.array([[1,2,3,4,5,6],[10,20,30,40,50,60],[3,4,5,6,7,8],[100,200,300,400,500,600]])
def plot(list):
fig = plt.figure()
ax = fig.add_subplot(111)
for a,i in enumerate(list.T):
ax.scatter(i[0],i[1],c='red') # This is plotted
ax.plot(i[2],i[3],'g--') # THIS IS NOT BEING PLOTTED !!!!
fig.show()
plot(array)
In [21]: for a,i in enumerate(array.T):
...: print i[2],i[3]
...:
3 100
4 200
5 300
6 400
7 500
8 600
数值打印得很完美。然而,他们并没有被策划 删除for循环:
import numpy as np
import matplotlib.pyplot as plt
array = np.array([[1,2,3,4,5,6],[10,20,30,40,50,60],[3,4,5,6,7,8],[100,200,300,400,500,600]])
def plot(list):
fig = plt.figure()
ax = fig.add_subplot(111)
for a,i in enumerate(list.T):
ax.scatter(i[0],i[1],c='red') # This is plotted
ax.plot(i[2],i[3],'g--') # THIS IS NOT BEING PLOTTED !!!!
fig.show()
plot(array)
In [21]: for a,i in enumerate(array.T):
...: print i[2],i[3]
...:
3 100
4 200
5 300
6 400
7 500
8 600
代码的问题在于,您迭代行,这对于绘制单点(
ax.scatter
)很好,但是对于连接单点(ax.plot
,使用'-'
选项):在每一行,您只绘制该点与自身之间的线,这显然没有显示在图表中。我需要用于
循环用于其他目的!!以上只是一个简单的例子。然后在需要的地方使用for循环,但不要使用ax.plot
调用。。。(您始终可以在循环内增加一个值列表,最后只调用绘图
函数)我的中的数组
对于
循环不断变化,我多次调用绘图。因此,在plt.plot
中手动更改我的x
和y
值将非常困难。是否有一种使用上述方法绘制虚线的替代方法?请在示例中说明如何使用阵列(即使是以简化的方式),因为这似乎是问题的一部分。我仍然看不到问题。你为什么不能用我的建议呢?