首先,我将回答您的一般性问题。您可以传递的功能规则
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")
我认为这应该有效。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)