我的csv文件看起来
0.0 1
0.1 2
0.2 3
0.3 4
0.5 7
1.0 9
0.0 6
0.1 10
0.2 11
0.3 12
0.5 13
1.0 14
...
Run Code Online (Sandbox Code Playgroud)
我想在x轴上绘制第一列,在第二列绘制y轴.所以我的代码是
import matplotlib.pyplot as plt
from numpy import genfromtxt
data=genfromtxt("test",names=['x','y'])
ax=plt.subplot(111)
ax.plot(data['x'],data['y'])
plt.show()
Run Code Online (Sandbox Code Playgroud)
但这连接图的终点,显示直线, 图http://cfile7.uf.tistory.com/image/24776F37554AD3670CECF8 我想要的就是这张图. 图http://cfile7.uf.tistory.com/image/27372B49554AD4422EBD0F
然后我如何读取数据文件或matplotlib中有任何选项断开线路?
正如评论中其他人提到的,每次调用绘图都会绘制它获得的所有点对,因此您应该对每一列的数据进行切片。如果所有线条的大小都是 6 点,您可以执行以下操作:
import matplotlib.pyplot as plt
from numpy import genfromtxt
data=genfromtxt("test",names=['x','y'])
x=data['x']
y=data['y']
columnsize = int(len(x)/6)
ax=plt.subplot(111)
for i in range(columnsize):
ax.plot(x[i*6:(i+1)*6],y[i*6:(i+1)*6])
plt.show()
Run Code Online (Sandbox Code Playgroud)
x
当和y
为类型时,此代码有效numpy.ndarray
。numpy 数组支持索引和切片作为 python 标准语法。
归档时间: |
|
查看次数: |
2834 次 |
最近记录: |