Как нарисовать графику из файла .txt (настройка по оси Y)? - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь нарисовать графику для отображения значений в файле .txt, и теперь у меня проблемы с настройкой формата оси Y, хотя я использую те же команды, что и команды для файла .CSV. Если я установлю 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 голосов
/ 02 мая 2019

Я не проверял, но сразу бросается в глаза то, что ваши параметры для 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...