首页 > 解决方案 > Seaborn 时间序列绘图:每个函数的不同问题

问题描述

我正在尝试为我的时间序列(以熊猫日期时间格式)绘图使用 seaborn 数据框功能(例如,将列名传递给和x绘图参数)。yhue

我试图将同一系列中的多个流分开(并使用色调在视觉上将它们分开),因此它们不应由一条线连接(如在散点图中)

我尝试了以下绘图类型,每种都有不同的问题:

易于复制的示例输入数据:

dates = pd.to_datetime(('2017-11-15',
    '2017-11-29',
    '2017-12-15',
    '2017-12-28',
    '2018-01-15',
    '2018-01-30',
    '2018-02-15',
    '2018-02-27',
    '2018-03-15',
    '2018-03-27',
    '2018-04-13',
    '2018-04-27',
    '2018-05-15',
    '2018-05-28',
    '2018-06-15',
    '2018-06-28',
    '2018-07-13',
    '2018-07-27'))
values = np.random.randn(len(dates))
clusters = np.random.randint(1, size=len(dates))
D = {'Dates': dates, 'Values': values, 'Clusters': clusters}
data = pd.DataFrame(D)

对于每个函数,我都传递了相同的参数:

sns.OneOfThePlottingFunctions(x='Dates',
                     y='Values',
                     hue='Clusters',
                     data=data)
plt.show()

回顾一下,我想要的是一个使用 seaborn 的 pandas 功能的图,并绘制具有正确 x 限制和可读 x 标签的点(不是线):)

任何帮助将不胜感激。

标签: pandasmatplotlibseaborn

解决方案


ax = sns.scatterplot(x='Dates', y='Values', hue='Clusters', data=data)
ax.set_xlim(data['Dates'].min(), data['Dates'].max())

推荐阅读