matplotlib:绘制一条线,但将其分成两种不同的样式

时间:2020-02-10 04:18:21

标签: pandas matplotlib

我有一个包含两列的df,例如“日期”和“销售”;
我想以不同的样式绘制df ['sales']:例如当ds <=时以'实线'绘制,其余ds则以'虚线'线绘制。

1 个答案:

答案 0 :(得分:0)

也许是这样?请注意,线条在日期之间移动,因此标记了句点。


from matplotlib import pyplot as plt
import pandas as pd
import numpy as np

df = pd.DataFrame({'date': pd.date_range('20200201', periods=29, freq='D'), 'sales' : np.random.binomial(200, .1, 29)})
df['sales'][df.date <= '20200210'].plot(style='-', color='crimson')
df['sales'][df.date >= '20200210'].plot(style='-.', color='crimson')
ticks, _labels = plt.xticks()
ticks = ticks[1:-1]
plt.xticks(ticks=ticks, labels=df['date'][ticks].dt.strftime('%m/%d/%Y'))
plt.tight_layout()
plt.show()

resulting plot

相关问题