使用Seaborn的带有最小最大阴影的时间序列图

使用Seaborn的带有最小最大阴影的时间序列图,第1张

使用Seaborn的带有最小/最大阴影的时间序列图

基于这个难以置信的答案,我能够创建一个猴子补丁来精美地完成您想要的工作。

import pandas as pdimport seaborn as sns    import seaborn.timeseriesdef _plot_range_band(*args, central_data=None, ci=None, data=None, **kwargs):    upper = data.max(axis=0)    lower = data.min(axis=0)    #import pdb; pdb.set_trace()    ci = np.asarray((lower, upper))    kwargs.update({"central_data": central_data, "ci": ci, "data": data})    seaborn.timeseries._plot_ci_band(*args, **kwargs)seaborn.timeseries._plot_range_band = _plot_range_bandcluster_overload = pd.read_csv("TSplot.csv", delim_whitespace=True)cluster_overload['Unit'] = cluster_overload.groupby(['Cluster','Week']).cumcount()ax = sns.tsplot(time='Week',value="Overload", condition="Cluster", unit="Unit", data=cluster_overload,    err_, n_boot=0)

输出图:

注意,阴影区域与线图中的真实最大值和最小值对齐!

如果您知道为什么

unit
需要该变量,请告诉我。


如果您不希望它们全部都在同一图形上,则:

import pandas as pdimport seaborn as snsimport seaborn.timeseriesdef _plot_range_band(*args, central_data=None, ci=None, data=None, **kwargs):    upper = data.max(axis=0)    lower = data.min(axis=0)    #import pdb; pdb.set_trace()    ci = np.asarray((lower, upper))    kwargs.update({"central_data": central_data, "ci": ci, "data": data})    seaborn.timeseries._plot_ci_band(*args, **kwargs)seaborn.timeseries._plot_range_band = _plot_range_bandcluster_overload = pd.read_csv("TSplot.csv", delim_whitespace=True)cluster_overload['subindex'] = cluster_overload.groupby(['Cluster','Week']).cumcount()def customPlot(*args,**kwargs):    df = kwargs.pop('data')    pivoted = df.pivot(index='subindex', columns='Week', values='Overload')    ax = sns.tsplot(pivoted.values, err_, n_boot=0, color=kwargs['color'])g = sns.FacetGrid(cluster_overload, row="Cluster", sharey=False, hue='Cluster', aspect=3)g = g.map_dataframe(customPlot, 'Week', 'Overload','subindex')

产生以下内容(如果认为比例不正确,显然可以使用宽高比)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5673471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存