import matplotlib.pyplot as plt
import numpy as np
import csv as csv
x=[]
y=[]
with open('DTS_02.csv', 'r') as csvfile:
plots=csv.reader(csvfile, delimiter=';')
for row in plots:
x.append(float(row[1]))
y.append(float(row[2]))
plt.plot(x,y, label='Hello,World')
plt.xlabel('depth')
plt.ylabel('temperature')
plt.grid()
plt.title('1-e6')
plt.show()
图片-> [1]:https://api.example.com/profileimageupload/
因此,我尝试执行此操作,并且我的示例包含100万行。有两个2个问题 1.为什么我会有这么粗的线? 2.为什么有一条线连接起点和终点? 此外,您对改进此代码有何建议(无需转换到新模块)...
答案 0 :(得分:0)
A1:因为您正在绘制一条线,我怀疑x没有排序。
A2。请参阅问题1。
A3:使用以下内容并查看其工作原理(因为您使用的是numpy):
x = np.array(x)
y = np.array(y)
plt.plot(x[x.argsort()], y[x.argsort()], label='Hello,World')
编辑: 如果噪音很大,可以尝试绘制较少的点,例如:
plt.plot(x[x.argsort()][::3], y[x.argsort()][::3], label='Hello,World') #each 3 points
或绘制移动平均线(请参见here)