gpt4 book ai didi

python - 混合 matplotlib 变换

转载 作者:行者123 更新时间:2023-11-28 18:51:24 25 4
gpt4 key购买 nike

我想在 Matplotlib 绘图中添加一个补丁,例如矩形,其中补丁的位置使用 ax.transData 但大小以像素或点为单位。有没有办法设置以这种方式工作的转换?还是转换以外的其他方式?

最佳答案

这个答案可能来得太晚了,但是如果其他人偶然发现了这个问题:

Matplotlib documentation 中有一个例子:

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.transforms as transforms
fig, ax = plt.subplots()
xdata, ydata = (0.2, 0.7), (0.5, 0.5)
ax.plot(xdata, ydata, "o")
ax.set_xlim((0, 1))

trans = (fig.dpi_scale_trans +
transforms.ScaledTranslation(xdata[0], ydata[0], ax.transData))

# plot an ellipse around the point that is 150 x 130 points in diameter...
circle = mpatches.Ellipse((0, 0), 150/72, 130/72, angle=40,
fill=None, transform=trans)
ax.add_patch(circle)
plt.show()

所以基本上您在转换中对补丁的位置进行编码,然后在位置 (0, 0) 处绘制补丁。

关于python - 混合 matplotlib 变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12416278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com