我试图绘制图形以显示.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()
这是我的实际结果:
答案 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