Столбец date
выглядит несортированным.Для воспроизведения рассмотрим, например,
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.rand(15,5), columns=list("ABCDE"))
a = np.arange("2018-05-05", "2018-05-20", dtype="datetime64[D]")
np.random.shuffle(a)
df["date"] = a
plt.plot("date", "C", data=df)
plt.show()
Если мы отсортируем кадр данных по столбцу date
сейчас,
df.sort_values(by="date", inplace=True)
результат выглядит намного приятнее.
Тангенциальное замечание: я бы рекомендовал выбрать один стиль, либо
plt.plot("date", "C", data=df)
или
plt.plot(df["date"], df["C"])
и не смешивайте их, указав аргумент x в качестве Series и строку y в качестве строки.