astropy常用命令 python天文绘图

news/2024/11/23 3:18:50/

绘图(结合mpl)

  1. 画出图像及contour
from astropy.wcs import WCS
from astropy.io import fits
import matplotlib.pyplot as plthdu=fits.open(filename)[0]
wcs=WCS(hdu.header)ax=plt.subplot(projection=wcs)#show image
ax.imshow(hdu.data, vmin=, vmax=, origin='lower')
'''or maybe np.log10(hdu[0].data)'''
#show contour
ax.contour(hdu.data, levels=[], colors='white', alpha=0.5)
  1. 添加标记及其他文件的坐标转换
    参考官网链接 Making plots with world coordinates
#添加其他坐标系的contour
ax.contour(othercoord.data, transform=ax.get_transform(WCS(othercoord.header)),\levels=, colors='white')
#添加方框
from matplotlib.patches import Rectangle
r = Rectangle((x_center., y_center.),.,., edgecolor='white', facecolor='none')
ax.add_patch(r)#shili
table_len=table['x'].shape[0]
for i in range(table_len):r = Rectangle((table['x'][i]-table['r'][i]/2,table['y'][i]-table['r2'][i]/2), table['r'][i],table['r2'][i], edgecolor='white', facecolor='none')ax.add_patch(r)
#绘制多边形
pgon = plt.Polygon(([0.15,0.15], [0.35, 0.4], [0.2, 0.6], [0.3, 0.2]))#添加标记等见上述链接
  1. 调整显示, 增加图例, 添加第二坐标轴等次要步骤

添加第二坐标轴参考官网链接
Make a plot with both redshift and universe age axes using astropy.cosmology
Plots with different scales

#调整显示
建议在imshow时即使用 np.log10(hdu[0].data)#增加图例(用"label")
plt.plot(x,y,label="my little line")
plt.legend(fontsize=10.)#调整色彩
imshow中参数 cmap
最清晰但过于明亮: 'jet'
高级灰但略不明显: 'viridis'
  1. 坐标轴及label
    坐标轴相关 CoordinateHelper
#调整坐标轴格式
ax.coords[0].set_major_formatter('d.dd')
ax.coords[1].set_major_formatter('d.dd')
#在label中正确使用\rm
plt.xlabel(r'$Italic,{\rm Normal}$')
  1. 保存
plt.savefig('xxx.pdf',bbox_inches='tight')

Others:
https://matplotlib.org/faq/howto_faq.html

#自动选合适的bar_label颜色
text_color = 'white' if r * g * b < 0.5 else 'darkgrey'

http://www.ppmy.cn/news/118817.html

相关文章

天文坐标系转换

天文坐标系转换 黄道坐标系赤道坐标系银道坐标系坐标系转换转换公式 - λ \lambda λ, β ⟶ \beta \longrightarrow β⟶ α , δ \alpha, \delta α,δ转换公式 - α , δ ⟶ \alpha, \delta \longrightarrow α,δ⟶ λ \lambda λ, β \beta β 实现坐标系转换代码 黄道…

天文坐标系

天文坐标系 坐标系统地平坐标系赤道坐标系黄道坐标系银道坐标系超星系坐标系 坐标系统 坐标系统中心点(起点)基面(lat0)极坐标主要方向(Primary direction(0 longitude))纬度(Latitude)经度(Longitude)地平坐标系(Horizaonal, Alt/Az)观测者地平面天顶(Zenith)/天底(Nadir)赤纬…

上海天文馆简要攻略

一、购入馆门票球幕电影票 儿童不需购买门票&#xff0c;但是需要预约&#xff0c;球幕电影儿童也需要购买门票的。 周末人较多&#xff0c;票比较难抢&#xff0c;so决定工作日去的&#xff0c;可提前在公众号“上海天文馆”购买&#xff0c;门票9&#xff1a;30开放购买&am…

天文方面的python库

天文方面的python库 &#xff08;本人是天文专业的&#xff0c;以天体物理作为例子&#xff09;&#xff08;火狐浏览器&#xff09; 据我目前了解&#xff0c;天文方面的python库有&#xff1a; Astropy: Astropy Documentation: http://docs.astropy.org/en/stable/ G…

天文学常用python库(持续更新)

基础库&#xff08;主要的支持库&#xff09;&#xff1a; numpy, matplotlib, ipython, scipy, pandas, seaborn 天文库&#xff08;天文学库和宇宙学库&#xff09;&#xff1a; astropy: 基于python语言&#xff0c;天文数据处理中最常用的包之一。 camb&#xff1a;基于for…

数据结构与算法(九)

红黑树复习 图 图&#xff0c;是一种数据结构 集合只有同属于一个集合&#xff1b;线性结构存在一对一的关系&#xff0c;树形结构一对多的关系&#xff0c;图形结构&#xff0c;多对多的关系。 微信中&#xff1a;许多的用户组成了一个多对多的朋友关系网&#xff0c;这个关…

4年经验之谈,什么是接口测试?怎样做接口测试?

一、什么是接口&#xff1f; 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点&#xff0c;定义特定的交互点&#xff0c;然后通过这些交互点来&#xff0c;通过一些特殊的规则也就是协议&#xff0c;来进行数据之间的交互。 二、接口都有哪些类型&#xff…

正则表达式记录

HTTP请求URL的参数部分只能包含指定参数名&#xff1a; (?:^|&)(?!(?:name1|name2|name3)) ?: 表示这个()匹配的内容不需要放到缓存里 ?! 表示不匹配