« 05.15 ゴールSP | ココ | 05.23 ライブ マリオ ミソスープ »

2010年5月15日

見上げてごらん夜空の星を R ver.  このエントリーを含むはてなブックマーク 

せっかくRでグラフを作ったのでもう少し別なことをやってみようかと思い立ち。

解説用の星図をさっさかるくるプロジェクト メモ3を参考にしてftp://dbc.nao.ac.jp/DBC/ADAC/V/50からデータを取ってきて星空をプロット。


(starchart_longtitude_latitude)

(starchart_hour_arc)

プロットするときに別の図法(例えば横メルカトルとか?)にするんやったら、プロットする前に何かの投射をしないとあかんけどとりあえずは軸は直行のままで。図法を変えたら軸のプロットの方法も変えんとあかんもんな…。あと、プロットする点のサイズを等級で変えたりしたいけど、普通にはそれができないのでプロットする処理を若干ごにょごにょしないと。


stars<-read.delim(file="BSC52",header=F)
colnames(stars)<-c("full")

stars[,"id"]<-as.integer(substr(stars[,"full"],1,4))
stars[,"name"]<-substr(stars[,"full"],5,14)
stars[,"mag"]<-as.numeric(substr(stars[,"full"],103,107))
stars[,"hr"]<-as.integer(substr(stars[,"full"],76,77))
stars[,"min"]<-as.integer(substr(stars[,"full"],78,79))
stars[,"sec"]<-as.numeric(substr(stars[,"full"],80,83))
stars[,"deg"]<-as.integer(substr(stars[,"full"],84,86))
stars[,"arcmin"]<-as.integer(substr(stars[,"full"],87,88))
stars[,"arcsec"]<-as.integer(substr(stars[,"full"],89,90))
stars[,"galong"]<-as.numeric(substr(stars[,"full"],91,96))
stars[,"galatit"]<-as.numeric(substr(stars[,"full"],97,102))

stars.color<-(stars[,"mag"]-min(stars[,"mag"],na.rm=T))/(max(stars[,"mag"],na.rm=T)-min(stars[,"mag"],na.rm=T))
stars.color[is.na(stars.color)]<-1

png(filename="starchart_hour_arc.png",bg="white",width=2000,height=1400)
par(mar=c(2,2,1,1))
plot(stars[,"hr"]*3600+stars[,"min"]*60+stars[,"sec"],stars[,"deg"]+stars[,"arcmin"]/60+stars[,"arcsec"]/3600,
col=gray(stars.color),pch=20,cex=0.8,axes=F,xaxs="i",yaxs="i",ann=F,xlim=c(-120,24*3600+120),ylim=c(-91,91))
axis(side=1,c(0:24)*3600,c(0:24),cex.axis=1.3,lwd=0.5)
axis(side=2,c(-9:9)*10,c(-9:9)*10,cex.axis=1.3,lwd=0.5)
dev.off()

png(filename="starchart_longtitude_latitude.png",bg="white",width=2000,height=1400)
par(mar=c(2,2,1,1))
plot(stars[,c("galong","galatit")],col=gray(stars.color),pch=20,cex=0.8,axes=F,xaxs="i",yaxs="i",ann=F,xlim=c(-3,363),ylim=c(-91,91))
axis(side=1,c(0:12)*30,c(0:12)*30,cex.axis=1.3,lwd=0.5)
axis(side=2,c(-9:9)*10,c(-9:9)*10,cex.axis=1.3,lwd=0.5)
dev.off()

まぁ、現状Atlasっぽくないけど。

1つメモ。
変数名をそのまま出力する方法がわからずあちこち探したので。

x<-NULL
substitute(x)
# -> x
deparse(substitute(x))
# -> NULL

By ただ at 22:58 カテゴリー ; PinMarch Samples , プログラミングとか

« 05.15 ゴールSP | 05月の記事 | 05.23 ライブ マリオ ミソスープ »




トラックバック

このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/1590