簡體   English   中英

從數據CSV繪制輪廓

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM