Member 13225387 Ответов: 0

Даты не в порядке при построении графика с помощью matplotlib


У меня есть CSV-файл с биржевыми данными компаний, а также значениями открытия, закрытия, максимума и т. д. За каждый день двух лет. Теперь у меня есть два списка, каждый из которых содержит даты в порядке обоих лет. Но когда график строится в Matplotlib, он не приходит в порядок, график путается. Когда я напечатал их нормально, они находятся в порядке, но в графическом рисунке Matplotlib их нет

Что я уже пробовал:

import csv
import codecs
import numpy as np
import matplotlib.pyplot as plt
# reading csv file
filepath = "sorted_nse_data.csv"
with codecs.open(filepath,"r") as csvfile:
    reader = csv.reader(csvfile)
    data = [row for row in reader]
    
x = np.shape(data)
i = 1
print(x)
date_train = []
openf = []
while(i<x[0]):
    if(data[i][0] == data[671][0] ):
        if(data[i][10] == '02-01-2017'):
            break
        date_train.append(str(data[i][10]))
        openf.append(data[i][3])
        
    i = i + 1
    
print(date_train)
train_data = openf
print(train_data)

while(i<x[0]):
    if(data[i][10] == '02-01-2017'):
        print (i)
        break
    i = i + 1
j = i   
test_data = []
date_test = []
while((j>=i) and (j<x[0])):
    if((data[j][0] == data[671][0])):    
        test_data.append(data[j][3])
        date_test.append(str(data[j][10]))
    j = j + 1
    
print(test_data)
print(date_test)

plt.plot(date_train,train_data,'r')
plt.plot(date_test,test_data,'g')
plt.xlabel('dates')
plt.ylabel('openf')
plt.title('Graph of opening Values')
plt.legend()
plt.show()

0 Ответов