Я хочу нарисовать графику с использованием данных в формате datetime в качестве xaxis, но процесс длится очень, очень, очень долго, в течение 30 минут все еще нет графики. Но как только я применю данные в другой колонке, графика появится очень скоро. Все форматы данных являются «списком».
Я запутался в этом, поскольку они все в одном и том же формате, почему я не могу нарисовать графику, используя формат datetime в качестве xaxis ??
вот мой код, я дорожу всем твоим временем и помогу!
from matplotlib import pyplot as plt
import csv
names = []
x = []
y = []
names=[]
with open('all.csv','r') as csvfile: #this csv file contains over 16000 datas
plots= csv.reader(csvfile,delimiter=',')
for row in plots:
x.append(row[1]) #row1 is the datetime format data
y.append(row[2])
print(x,y)
plt.plot(x,y)
plt.show()
Строки моего CSV-файла выглядят примерно так:
2016/05/02 10:47:45,14.1,20.1,N.C.,170.7,518.3,-1259,-12.61,375.8,44.92,13.76,92.74,132.6,38.86,165.3,170.9,311.5,252.3,501.2,447.2,378.4,35.48,7.868,181.2,
Я хочу, чтобы первый столбец обозначался как xaxis, а следующие столбцы - как yaxis ...
и ось y не изменяется, независимо от того, как я изменяю предел оси y.
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.read_csv('all.csv')
x = df.iloc[:,1]
y = df.iloc[:,3]
x = pd.to_datetime(x)
plt.figure(num=3, figsize=(15, 5))
plt.plot(x,y)
my_y_ticks = np.arange(0, 40, 10)
plt.xticks(rotation = 90)
plt.show()