在matplotlib中,我尝试定位图形的轴,使轴矩形有其自身的位置 左下角在(100100),右上角在(400400), 假设给定坐标的单位是点(pt)
import matplotlib.pyplot as plt
plt.rcParams['ps.papersize'] = 'a4'
fig = plt.figure(figsize=(8.27, 11.69))
ax = fig.add_subplot(1,1,1)
ax.plot([1,3,2])
mybbox = ax.get_position()
mybbox.x0, mybbox.y0 = fig.transFigure.inverted().transform((100, 100))
mybbox.x1, mybbox.y1 = fig.transFigure.inverted().transform((400, 400))
ax.set_position(mybbox)
print(fig.transFigure.transform(ax.get_position()))
plt.savefig('foo.ps')
但是创建的postscript文件生成轴的角实际上是 在(72,72)和(288):
72 72 m
288 72 l
288 288 l
72 288 l
cl
因此,所有坐标都偏离目标0.72的常数因子。
我应用transFigure
转换做错事了吗
计算轴的绝对位置
1像素代表0.72点
fig.transFigure.inverted()
从使用像素而不是点的显示空间进行变换。 准确地说,您还需要考虑数字dpi(默认情况下dpi=100)。所以使用应该导致
在post脚本文件中
相关问题 更多 >
编程相关推荐