[英]Plotting data from CSV files using matplotlib
我的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
...
我想在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()
但這連接圖的終點,顯示直線, 圖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()
當x
和y
的類型為numpy.ndarray
時,此代碼有效。 numpy數組支持索引和切片為python標准語法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.