график временных рядов со строками по оси - PullRequest
0 голосов
/ 05 мая 2020

У меня есть небольшой временной ряд в форме

                    created    current_page
0  2020-02-29T19:26:00.000Z        SOMMARIO
1  2020-02-29T19:25:00.000Z  DATI PERSONALI
2  2020-02-29T19:25:00.000Z    OFFERTA FULL
3  2020-02-29T19:24:00.000Z       DATI BENE
4  2020-02-29T19:23:00.000Z        HOMEPAGE

Как я могу построить его и получить по оси x даты в столбце «Создано», а по оси Y - элементы страницы? До сих пор я пытался использовать кодировщик меток для значений оси Y, но когда я это делаю, на оси X появляются плавающие числа вместо дат. Мой код

from sklearn.preprocessing import LabelEncoder

le = LabelEncoder()
series["current_page"] = le.fit_transform(series["current_page"].values)
series.plot()
plt.gcf().autofmt_xdate()

, и я получаю

enter image description here

1 Ответ

0 голосов
/ 05 мая 2020

Попробуйте это, я проверил на своей локальной машине, и это сработало:

# imports
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

# data
created = ["2020-02-29T19:26:00.000Z", 
           "2020-02-29T19:25:00.000Z", 
           "2020-02-29T19:25:00.000Z", 
           "2020-02-29T19:24:00.000Z",
           "2020-02-29T19:23:00.000Z"]

current_page = ["SOMMARIO", "DATI PERSONALI", "OFFERTA FULL", "DATI BENE", "HOMEPAGE"]

# create df from data
df = pd.DataFrame([created, current_page], ["created", "current_page"]).T

# convert to datetime
df["created"] = pd.to_datetime(df["created"])

# enconde data
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df["current_page"] = le.fit_transform(df["current_page"].values)

# separte x and y
x = df["created"]
y = df["current_page"]

# plot data
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y)
...