如何从.txt文件绘制图形(y轴设置)?

时间:2019-05-02 13:41:53

标签: python matplotlib

我试图绘制图形以显示.txt文件中的值,尽管我使用与.CSV文件相同的命令,但现在设置y轴格式时遇到问题。如果我使用y-lim设置my_y_ticks = np.arange(-100, 1000, 100),则间隔不是100,除了很难识别y轴值。我从.txt数据库粘贴了一些原始值。

01/05/2016  00:01:00    313,000000  U   42491,000694    -1,87   
01/05/2016  00:02:00    313,000000  U   42491,001389    -1,87   
01/05/2016  00:03:00    313,000000  U   42491,002083    -1,87   
01/05/2016  00:04:00    313,000000  U   42491,002778    -1,87   
01/05/2016  00:05:00    313,000000  U   42491,003472    -1,87   
01/05/2016  00:06:00    313,000000  U   42491,004167    -1,87   

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

df = pd.read_csv('WHV_Wasserstand_2016-2018.txt', sep = '\t') #open file
x = df.iloc[:,0] #choose values from txt file
y = df.iloc[:,2] #choose values from txt file
x = pd.to_datetime(x)   #transfer to date-time format
plt.ylim((-100,1000))
my_y_ticks = np.arange(-100, 1000, 100) #this code doesn't work!
plt.plot(x,y)   
plt.xticks(rotation = 90)
plt.show()

这是我的实际结果:

actual result

1 个答案:

答案 0 :(得分:0)

我还没有测试过,但是立即引人注意的一点是,np.arange()的参数不会产生100个值的间隔。当给定三个值时,numpy.arange()将第一个参数用作间隔的开始,第二个参数用作间隔的结束,第三个参数用作“步长”,表示此间隔中数字之间的间隔。您的函数将为您提供如下值:

>>> np.arange(-100,1000,100)
array([-100, 0, 100, 200, 300, 400, 500, 600, 700, 800, 900])

因为结束间隔是排他的,所以它停止在900。考虑一下这些值是否要传递给my_y_ticks