我使用Matplotlib生成散点图的PNG文件.现在,每个散点图,除了PNG文件,我也想在生成散点图中各点的像素坐标列表.
我用来为散点图生成PNG文件的代码基本上是这样的:
from matplotlib.figure import Figure
from matplotlib.pyplot import setp
from matplotlib.backends.backend_agg import FigureCanvasAgg
...
fig = Figure(figsize=(3, 3), dpi=100)
ax = fig.gca()
for (x, y), m, c in zip(points, markers, colors):
ax.scatter(x, y, marker=m, c=c, s=SIZE, vmin=VMIN, vmax=VMAX)
# several assorted tweaks like ax.spines['top'].set_color('none'), etc.
setp(fig, 'facecolor', 'none')
# FigureCanvasAgg(fig).print_png(FILEPATH)
Run Code Online (Sandbox Code Playgroud)
...(UPPERCASE中的变量代表可设置的参数).
我怎样才能(px, py)在结果PNG中产生一对像素坐标对应的点points?
[编辑:删除了一些废话imshow.]
[编辑:
好的,这是我最终提出的,基于Joe Kington的建议.
# continued from above...
cnvs = FigureCanvasAgg(fig)
fig.set_canvas(cnvs)
_, ht = cnvs.get_width_height()
pcoords = …Run Code Online (Sandbox Code Playgroud) 我想在散点图上绘制一些随机生成的磁盘的位置,并查看磁盘是否相互"连接".为此,我需要设置固定/链接到轴刻度的每个磁盘的半径.函数中
的's'参数plt.scatter使用点,因此大小不是相对于轴固定的.如果我动态缩放到绘图中,散点图标的大小在绘图上保持不变,并且不会随轴向上缩放.
如何设置半径以使它们具有一定值(相对于轴)?