在4K屏幕上使用TKAgg或Qt5Agg后端的Matplotlib

5
我正在使用Python 3.6上的Matplotlib 2.0在Ubuntu 16.04上创建数据图表。计算机显示器的分辨率是3840x2160的4k分辨率。绘图图形非常小,字体微小:

enter image description here

我尝试过Matplotlib的TKAggQt5Agg后端,但在我的4K显示器上,图形窗口仍然很小。
后端是否可以配置为缩放图形窗口,以便在高分辨率显示器上更好地查看?
2个回答

1

您可以告诉Matplotlib创建一个高dpi图形,使用:

plt.figure(dpi=300)

在创建绘图之前,您可以使用以下方法以更高的dpi保存您的绘图:

plt.savefig("figurename.png", dpi=300)

一个补充:为了让这个自动工作,你只需要将 dpi 设置添加到你的 rcParams 中:plt.rcParams["figure.dpi"] = 300。但我认为,在新的 mpl 版本中,Qt5 后端会自动检测像素缩放。 - user8408080

0

你需要做的一件事是正确设置tk scaling因子。在你的.wishrc文件中添加一个tk scaling命令。tk scaling wiki页面上有一些工具,可以用来确定合适的缩放因子。

这可能会有所帮助,但最有可能的是,编写TkAgg的人也需要做一些工作,使他们的应用程序在高分辨率显示器上更好地工作(这基本上是可能的)。通常,太多的程序是围绕像素大小编写的(真实大小取决于分辨率),而不是点或毫米。

并且你的显示可能会更糟,因为绘图画布不会缩放,其他小部件和字体可能会缩放正确。

由于这是一个画布显示,让缩放正常工作将是一项艰苦的工作。

你可能需要找到一个快速切换显示器分辨率的方法,以便你可以完成你的工作。

参考资料:tk scalingtk scaling (wiki)


在Ubuntu上,.wishrc文件位于哪里? - wigging
您需要在您的$HOME目录中创建它。 - Brad Lanam
我在.wishrc文件中输入了tk scaling -displayof . 2,但它对图形大小没有任何影响。 - wigging
预料之中。绘图画布不会自动缩放。您需要将此反馈给TkAgg作者,并让他支持“tk scaling”。目前您只有两个选择:使用放大镜工具或更改显示器分辨率。 - Brad Lanam
我能否让Matplotlib使用支持4K显示的不同后端? - wigging

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