如何获取要传递的 matplotlib 渲染器?

问题描述 投票:0回答:1

我想调用 matplotlib Spine 实例的

draw()
函数。 Spines 的文档显示
draw()
需要一个“渲染器”参数:

draw(self, renderer)
据我所知,渲染器的代码文档不存在。所有将它们作为一个类的引用,例如

艺术家页面

上的
matplotlib.backend_bases.Renderer,都不提供链接。搜索只会在使用常见问题解答页面上显示出渲染器表。这告诉我常见渲染器的名称,但没有告诉我如何获取对渲染器的引用。我在文档中搜索了 get_renderer()
 函数,但到目前为止什么也没找到。

如何获取渲染器的引用以便使用

spines.draw()

 函数?

python matplotlib renderer
1个回答
0
投票

这个答案有获取matplotlib渲染器的代码:

def find_renderer(fig): if hasattr(fig.canvas, "get_renderer"): #Some backends, such as TkAgg, have the get_renderer method, which #makes this easy. renderer = fig.canvas.get_renderer() else: #Other backends do not have the get_renderer method, so we have a work #around to find the renderer. Print the figure to a temporary file #object, and then grab the renderer that was used. #(I stole this trick from the matplotlib backend_bases.py #print_figure() method.) import io fig.canvas.print_pdf(io.BytesIO()) renderer = fig._cachedRenderer return(renderer)
    
© www.soinside.com 2019 - 2024. All rights reserved.