赫罗图(Hertzsprung-Russell diagram,简写为 H-R diagram 或 HRD)是丹麦天文学家赫茨普龙及由美国天文学家罗素分别于 1911 年和 1913 年各自独立提出的。后来的研究发现,这张图是研究恒星演化的重要工具,因此把这样一张图以当时两位天文学家的名字来命名,称为赫罗图。赫罗图是恒星的光谱类型与光度之关系图,赫罗图的纵轴是光度与绝对星等,而横轴则是光谱类型及恒星的表面温度,从左向右递减。恒星的光谱型通常可大致分为 O.B.A.F.G.K.M 七种,要记住这七个类型有一个简单的英文口诀 “Oh be A Fine Girl/Guy. Kiss Me!”
上面一段是我百度的。。。
之前我用 R 语言画过赫罗图:
今天我们用 Stata 画一下,配色不是很好弄,就凑合一下。。。
import delimited using catalog.csv, clear destring, replace force dropifmissing(ci) keepifinrange(ci, -0.5, 2.5)
数据集里面有两个变量,含义分别是:
absmag: 绝对星等
ci:光谱类型
Stata 绘图的一个缺点是没办法将变量映射给散点的颜色,不过我们可以使用 colorscatter 来实现(尽管实现的并不是很好),该命令可以使用 ssc 安装:
* 方法二: import delimited using colors.csv, clear save colors, replace import delimited using catalog.csv, clear destring, replace force dropifmissing(ci) keepifinrange(ci, -0.5, 2.5) egen id = cut(ci), group(255) replace id = id + 1 mergem:1 id using colors drop _m
* 将 color 存储到返回值中对应起来 preserve use colors, clear forvalm = 1/255{ local a`m' = "`=color[`m']'" } restore
* 使用循环生成绘图语句 local cmd = "tw " forval i = 1/255{ local cmd = `"`cmd' (sc absmag ci if id == `i', msymbol(p) mc("`a`i''"))"' } di`"`cmd'"'
评论