使用Seaborn FacetGrid绘制时间序列

使用Seaborn FacetGrid绘制时间序列,第1张

使用Seaborn FacetGrid绘制时间序列

首先,我将回答您的一般性问题。您可以传递的功能规则

FacetGrid.map
是:

  • 它们必须将类似数组的输入作为位置参数,第一个参数对应于x轴,第二个参数对应于y轴(不过,不久之后,第二个条件会更多
  • 他们还必须接受两个关键字参数:
    color
    label
    。如果要使用
    hue
    变量,则应将这些变量传递给基础绘图功能,但是
    **kwargs
    如果与所创建的特定绘图无关,则可以捕获它们而不对其进行任何 *** 作。
  • 调用时,它们必须在“当前活动”的matplotlib轴上绘制图。

有可能是在您的函数绘制的曲线,看起来不正确服用的情况下

x
y
,位置输入。我认为这基本上就是您使用的方式
plt.plot
。例如,
g.set_axis_labels("Date","Stat")
在使用后
map
调用它会更容易,它将正确地重命名轴。您可能还想做
g.set(xticklabels=dates)
一些有意义的事情。

还有一个更通用的功能

FacetGrid.map_dataframe
。这里的规则是相似的,但是您传递的函数必须在称为的参数中接受数据框输入
data
,而不是采用类似数组的位置输入,而是采用与该数据框中的变量相对应的字符串。通过刻面每一次迭代,该功能将被屏蔽,只是将值的该组合的输入数据帧调用
row
col
hue
水平。

因此,在您的特定情况下,您需要编写一个我们可以调用的函数,该函数

plot_by_date
应如下所示:

def plot_by_date(x, y, color=None, label=None):    ...

(我会对身体有所帮助,但实际上我不知道如何处理日期和matplotlib)。最终结果是,当您调用此函数时,它应绘制在当前活动的轴上。然后做

g.map(plot_by_date, "Date", "Stat")

我认为这应该有效。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存