如何对matplotlib的figure类进行子类化?

3
我正在尝试为我的图形添加一些自定义行为和属性,但我很难决定一个有效(且符合Python规范)的方法。
我的第一反应是简单地继承matplotlib.figure.Figure,但我无法弄清楚如何实现这一点:通常我会创建新的图形并从某个东西开始绘图。
fig, ax = matplotlib.pyplot.subplots()

我无法想象如何使用自定义的Figure子类来实现这个功能。

如何以一种仍然可以让我使用像上面那样的pyplot方法的方式来创建Figure的子类?子类化是否是获得与图形相关的自定义行为的正确方法?还有更好的方法吗?

1个回答

6

subplots接受额外的关键字参数,这些参数直接传递给figures(),其中一个参数是用于创建图形的类。

class MyFigure(Figure):
    pass

fig, ax = matplotlib.pyplot.subplots(FigureClass=MyFigure)

我有点尴尬(也松了一口气(并再次对matplotlib的架构印象深刻)),因为它如此简单。是否有一种方法可以确保返回的轴是特定类别的? - orome
我不确定。相对而言,这个图形很容易弄清楚(fig_kwsubplots的一个文档化参数)。我没有看到任何明显传递给或通过figures指定用于替代Axes的类的东西。可能是你通过add_axes在你的Figure子类中配置的东西。 - chepner
1
关于确保自定义图形的所有“轴”都是自定义类的后续问题。 - orome

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接