获取 PyPlot 图形的 DPI

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

至少在 Spyder 中,PyPlot 绘图可以是低分辨率的,例如来自:

import numpy as np
import matplotlib.pyplot as plt
# import seaborn as sns
rng = np.random.default_rng(1)
scat = plt.scatter( *rng.integers( 10, size=(2,10) ) )

我的网上冲浪给我带来了一个建议的解决方案:增加每英寸点数。

plt.rcParams['figure.dpi']=300

冲浪表示默认100。

经过多次实验,有没有办法从绘制的对象中“获取”DPI,例如上面的

scat
? 好像没有
scat.dpi
scat.getdpi
scat.get_dpi

python matplotlib
1个回答
0
投票

强烈建议您使用面向对象的接口:

import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(1)
fig, ax = plt.subplots()
ax.scatter(*rng.integers(10, size=(2,10)))
print(fig.dpi) # returns 100

按照您当前的方法:

plt.gcf().get_dpi()

plt.gcf().dpi
© www.soinside.com 2019 - 2024. All rights reserved.