[英]Plotting contours from data csv
我在csv文件中有數據,其中溫度,x,y和z點按列排列。 通過我的數據獲取,z點可以取零,因為它保持為0。
我想簡單地獲取此數據的輪廓圖。
我的問題基本上與此相同,但是它被重定向到其他線程,但我仍然不知道發生了什么。
編輯:這是我應該打開數據的未完成代碼? 我不知道從這里去哪里。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.mlab import griddata
import csv
data = np.genfromtxt('tempcontour0.csv', delimiter=',', dtype=[('t',float),('x',float),('y',float),('z',float)],usecols=(0,1,2))
T=data['t']
X=data['x']
Y=data['y']
z = np.zeros((len(X),2))
z[:,0] = X
z[:,1] = Y
plt.contour()
plt.show()
數據文件如下所示:
T,x,y,z
316.002,0,0,0
309.314,0.00839113,0,0
309.67,0.0172418,0,0
310.34,0.0265772,0,0
310.903,0.0364239,0,0
311.558,0.0468098,0,0
312.704,0.0577645,0,0
313.582,0.0693192,0,0
314.582,0.0815067,0,0
316.2,0.0943616,0,0
317.391,0.107921,0,0
318.93,0.122222,0,0
322.662,0.137307,0,0
325.549,0.153218,0,0
339.193,0.17,0,0
338.943,0,0.0208333,0
341.134,0.00839113,0.0208333,0
341.692,0.0172418,0.0208333,0
首先,您必須使用以下內容讀取文件:
from numpy import genfromtxt
import numpy as np
import matplotlib.pyplot as plt
data = genfromtxt('file.csv', delimiter = ',')
然后您需要繪制它,但是您需要知道如何重塑數組,例如,看起來您的數據在增加y之前變為15 x值,因此:
x = data[:, 1].reshape(15, yincrement)
y = data[:, 2] .reshape(15,yincrement)
z = data[:,0].reshape(15,yincrement)
plt.contour(x,y,z)
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.