提高图形分辨率保存

2024-09-29 21:45:55 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用matplotlib工具栏“保存”按钮保存图形时,有没有办法提高图形的分辨率?在

我试着增加dpi,但当使用工具栏上的save按钮时,似乎没有多大区别。在

这就是我如何将dpi增加到用户指定的值。在

if self.txtDPI.toPlainText() == "":
    DPI = 120 
else: 
    DPI = int(self.txtDPI.toPlainText()) 
self.tempfig.set_dpi(DPI)

我有一个图形在上面的GUI,它下面是matplotlib工具栏,这样他们就可以编辑图表了。当用户点击matplotlib工具栏上的“save”按钮时,我试图让它用设置的dpi保存图形。我以为用用户输入dpi绘制图形会使它用dpi保存图形,但事实并非如此。如果用户将dpi提高到120以上,也会使图表脱离“画布”。在

编辑: 我通过执行以下操作来实现:

将matplotlib作为mpl导入

在mpl.rcParams公司['保存图dpi']=DPI

谢谢你的建议!在


Tags: 用户self图形编辑matplotlibsave图表按钮
1条回答
网友
1楼 · 发布于 2024-09-29 21:45:55

如果您愿意在生成图形之前设置dpi,那么我建议您使用setting the rcParams。这可以在matplotlibrc文件中完成,或者如果您只想增加dpi的一个脚本,则添加如下内容:

import matplotlib.pyplot as plt
plt.rcParams['savefig.dpi'] = 500

另一方面,如果希望在保存地物时能够设置dpi,则需要扩展交互式matplotlib窗口。Here is an example如何单独在matplotlib中完成

编辑:

添加交互性的一个简单方法是使用IPython交互式小部件。下面是一个屏幕截图,说明了这是如何工作的:

enter image description here

每次移动滑块时,它都会用更新后的值plot调用plot,因此图形会重新保存。如果图形特别大且生成速度慢,您可能需要使用interact_manual。为此,只需安装版本高于3.0的IPython notebook。在

相关问题 更多 >

    热门问题