混合matplotlib变换

2024-09-29 21:29:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在一个Matplotlib图中添加一个补丁,比如Rectangleax.传输数据但大小是以像素或点为单位的。有没有一种方法可以设置这样的转换?或者是其他方式而不是转化?在


Tags: 方法matplotlib方式单位像素传输数据rectangleax
1条回答
网友
1楼 · 发布于 2024-09-29 21:29:44

这个答案可能来得有点晚,但如果有人无意中发现了这个问题:

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)处画出面片。在

相关问题 更多 >

    热门问题