如何使用 matplotlib 在 python tkinter 中显示与屏幕分辨率无关的数字?

Posted

技术标签:

【中文标题】如何使用 matplotlib 在 python tkinter 中显示与屏幕分辨率无关的数字?【英文标题】:How can I show figures independent of screen resolution in python tkinter with matplotlib? 【发布时间】:2017-10-14 13:33:55 【问题描述】:

当我运行这段python代码在超高清屏幕上绘图时,图中的图标和文字似乎太小了(如果你能看到的话)。

import matplotlib.pyplot as plt
import numpy as np
import scipy.signal
t = np.linspace(0, 1, 500, endpoint=False)
plt.plot(t, scipy.signal.square(2 * np.pi * 5 * t))
plt.ylim(-2, 2)
plt.show()

这是它的外观:

我希望我的应用程序独立于屏幕分辨率,即图标、文本等显示为可接受的大小(例如,在所有分辨率下屏幕的百分比相等)。

我怎么能这样做?谢谢。

【问题讨论】:

【参考方案1】:

可以使用savefig 的 dpi 参数来控制已保存图形的每英寸点数的分辨率。也许它有助于分辨率较低的显示器

savefig(fname, dpi=None, facecolor='w', edgecolor='w',
        orientation='portrait', papertype=None, format=None,
        transparent=False, bbox_inches=None, pad_inches=0.1,
        frameon=None)

参数定义:

dpi: [ None | scalar > 0 | ‘figure’]

以每英寸点数为单位的分辨率。如果 None 它将默认为 matplotlibrc 文件中的值 savefig.dpi 。如果是“figure”,它会将 dpi 设置为图形的值。

【讨论】:

你好。我对保存数字不感兴趣。

以上是关于如何使用 matplotlib 在 python tkinter 中显示与屏幕分辨率无关的数字?的主要内容,如果未能解决你的问题,请参考以下文章

Python中使用matplotlib 如何绘制折线图?

如何在 matplotlib / Python 中更改后端

如何使用 matplotlib 在 python 中绘制 3D 密度图

如何使用matplotlib在python中绘制向量

如何使用 python/matplotlib 为 3d 绘图设置“相机位置”?

我如何(在 Python 中)通过使用 blitting 从绘图中删除 matplotlib 艺术家?