以干净的方式将选项传递到matplotlib后端

以干净的方式将选项传递到matplotlib后端,matplotlib,Matplotlib,为了个人使用,我多次修改matplotlib gtk后端(以及tk和wx),用笔记本替换窗口。这是因为我同时使用了太多的绘图 这一次,我觉得我可以接受挑战,为我的更改执行拉式请求。但我想把它做得尽可能干净。这就是我需要建议的地方(清洁是关键) 我想把我的类选项卡FigureManager放在里面 问题是使用 matplotlib.use('gtk3cairo') 或 指示指定的后端(gtk3cairo或gtk3agg)使用后端\u gtk3.FigureManager gtk3 我不想复制,

为了个人使用,我多次修改matplotlib gtk后端(以及tk和wx),用笔记本替换窗口。这是因为我同时使用了太多的绘图

这一次,我觉得我可以接受挑战,为我的更改执行拉式请求。但我想把它做得尽可能干净。这就是我需要建议的地方(清洁是关键)

我想把我的类选项卡FigureManager放在里面

问题是使用

matplotlib.use('gtk3cairo')

指示指定的后端(gtk3cairo或gtk3agg)使用后端\u gtk3.FigureManager gtk3

我不想复制,只想将调用更改为backendgtk3.FigureManagerGTK3

我想实现一个解决方案,允许用户将一个选项传递到后端,然后从后端选择传统的FigureManagerGTK3或我的选项卡FigureManagerGTK3

我正在寻找一个关于如何做的建议,有更多的机会被上游接受(在拉请求和整个shebang之后)

  • 我是否修改matplotlib.use以添加类似**kwargs的内容

  • 我是否只是重新创建整体和(当然是子类化)

  • 我忘了试着让这个被接受,然后打破惯例吗

  • 谢谢
    费德里科

    这听起来确实像一个漂亮的功能

    我将通过修改现有的管理器并遵循
    PySide
    vs
    PyQt
    问题的处理方式(通过使用控制后端导入哪一个的辅助rcParams)来实现这一点。在您的情况下,我将添加
    backend.gtk3.tabbed
    ,或类似的名称,以控制管理器的行为

    编写修改,使现有api的更改尽可能少(破坏向后兼容性是不可能的),并使未显式启用您的更改的用户甚至不知道它们存在


    还可以通过电子邮件发送开发人员列表,他们都非常友好。或者只是打开一个PR,这是获得反馈的最有效的方式。

    谢谢,我没有考虑rcparams,但这是最简单的方式。实现的初稿在
    matplotlib.use('gtk3agg')