首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >APLpy/matplotlib:为EPS质量数字协调网格alpha级别

APLpy/matplotlib:为EPS质量数字协调网格alpha级别
EN

Stack Overflow用户
提问于 2016-06-14 21:19:12
回答 1查看 137关注 0票数 0

在正常的matplotlib axes类中,可以将网格线设置为具有一定的透明度(alpha级别)。我尝试通过下面的APLpy包来利用这一点:

代码语言:javascript
复制
fig = pyplot.figure(figsize=(18,8))

gridspec_layout = gridspec.GridSpec(1,2)

gridspec_layout1 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gridspec_layout[1], hspace=0.0, wspace=0.0)

pyplot_0 = fig.add_subplot(gridspec_layout1[0])
pyplot_1 = fig.add_subplot(gridspec_layout1[1])
pyplot_2 = fig.add_subplot(gridspec_layout1[2])
pyplot_3 = fig.add_subplot(gridspec_layout1[3])
pyplot_4 = fig.add_subplot(gridspec_layout1[4])
pyplot_5 = fig.add_subplot(gridspec_layout1[5])
pyplot_6 = fig.add_subplot(gridspec_layout1[6])
pyplot_7 = fig.add_subplot(gridspec_layout1[7])
pyplot_8 = fig.add_subplot(gridspec_layout1[8])

M33 = aplpy.FITSFigure('myfits.fits', figure=fig, subplot=list(gridspec_layout[0].get_position(fig).bounds), dimensions=[0, 1], slices=[0])

M33 = aplpy.FITSFigure('myfits.fits')
M33.show_grid()
M33.set_grid_alpha(0.1)

pyplot.savefig('myeps.eps', format='eps', dpi=800, clobber=True)

因此,透明度非常高,非常微妙。但是,当我将绘图另存为.eps格式文件时,透明度丢失,并且我的线条是白色的。在普通的matplotlib中,我通常使用:

代码语言:javascript
复制
ax.set_rasterized(True)

这样透明度看起来就像它应该的那样。

我想知道是否有aplpy.FITSFigure类的等价物...?

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-06-14 21:36:57

在save函数中,有一个可选参数transparent。默认情况下,transparent设置为False。如果将其设置为True,则在保存时应保留透明度。

所以它应该是这样的:

代码语言:javascript
复制
M33.save(filename, transparent=True, ..)

ETA:在下面的评论中,有人指出EPS格式不支持透明度,所以如果你用该格式保存,上面的代码将不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37813267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档