先日紹介したStataのカラーパレットにさらに強力なバージョンが存在することがわかったのでシェアします.
色のグラデーションをつけたいときにはこちらのほうが便利そうですし、
いろいろと使い勝手がよさそうな印象です。まだ使いこなせているわけではありませんが、その機能の一部を試してみたので紹介します.
コンテンツ
- ”colorpalette”のado fileをインストールする
- 色々なパレットのうち、“HCL”というパレットを使ってみる
- グラフに実際使ってみる
1.”colorpalette”のado fileをインストールする
“colorpalette”という名のado fileをスイスのベルン大学のBen Jannさんという方が作成されたようで、オンラインで取ってくることができます.
help colorpalette
で次のような画面がでてきたら、gr0075の部分をクリックしましょう.
パッケージをインストールしてみましょう↓
すると次のような画面がでてくればインストール成功です.
2.色々なパレットのうち、“HCL”というパレットを使ってみる
パッケージをインストールしたら、実際にパレットを見てみましょう.
ここでは”HCL”というパレットを見てみることにします.
“hcl palette is an HCL (Hue-Chroma-Luminance) color generator. The implementation is based on R’s colorspace package by Ihaka et al. (2016).”
colorspace: A Toolbox for Manipulating and Assessing Colors and Palettes
ということなので、統計ソフトRから輸入したものっぽいですね.
colorpalette hcl
と入れてやると、次のようなパレットがでてきます.
これが基本設定で、色の濃淡を10段階にわけて表示したい場合には、
colorpalette, vertical n(10): hcl, blues / hcl, greens / hcl, oranges / hcl, purples / hcl, heat / hcl, plasma
といれてやれば良いわけです.
次にこの色達を使ってグラフを描きたいと思います.
3.グラフに実際使ってみる
簡単なグラフを描いてみることにします.
グループごとの平均値(+信頼区間)が年々どのように変わっていくかを描いたグラフです.
まずできあがりのイメージから.
青色をベースに濃淡をつけてグループ別に描いていったのですが、
colorpalette hcl, blues
これで青色の段階的な色の感じがわかります.
これの1番目と5番目と9番目を使いたいなあ、という場合には、
colorpalette hcl, blues select(1 5 9)
でOKです.ここでscalar値を確認しておきましょう.
return list
scalars:
r(n) = 3
macros:
r(ptype) :”color”
r(pname) :”hcl”
r(pnote) :”blues”
r(p) : “”0 49 161” “86 103 171” “147 155 202″”
r(p3info) : “hcl 260 40 65”
r(p3) : “147 155 202”
r(p2info) : “hcl 260 60 45”
r(p2) : “86 103 171”
r(p1info) : “hcl 260 80 25”
r(p1) : “0 49 161”
という結果が返ってきますが、色を表す数列が出てきますので、これをマクロにすればよいわけです.
colorpalette hcl, blues select(1 5 9) nograph
local blue1 `r(p1)'
local blue2 `r(p2)'
local blue3 `r(p3)'
こんな感じ.これをグラフに埋め込めばOKです.
このとき、色の数列は“ ” (ダブルクォーテーション) で必ず括ってください.
.twoway rcap a b, lcolor("`blue1'")
こうしないと折角の色がグラフに反映されず、デフォルトのグレースケールになります.
さて、できあがりのグラフを描くためのsyntaxを最後に掲載しておきます.
clear
input group beta low high year
1 5 3 7 1
1 2 1 5 2
1 1 0 3 3
2 6 3 9 1.05
2 3 1 8 2.05
2 1 0 4 3.05
3 3 1 6 1.1
3 2 1 4 2.1
3 1 0 2 3.1
end
colorpalette hcl, blues select(1 5 9) nograph
local blue1 `r(p1)'
local blue2 `r(p2)'
local blue3 `r(p3)'
linepalette pplain, n(3) nograph
local line1 `r(p1)'
local line2 `r(p2)'
local line3 `r(p3)'
#delimit;
twoway rcap high low year if group==1, lcolor("`blue1'")
||
connected beta year if group==1, sort msymbol(Dh) mcolor("`blue1'") lcolor("`blue1'")
||
rcap high low year if group==2, lcolor("`blue2'") lpattern(`line2')
||
connected beta year if group==2, sort msymbol(Dh) mcolor("`blue2'") lcolor("`blue2'") lpattern(`line2')
||
rcap high low year if group==3, lcolor("`blue3'") lpattern(`line3')
||
connected beta year if group==3, sort msymbol(Dh) mcolor("`blue3'") lcolor("`blue3'") lpattern(`line3')
,
xlabel(1(1)3) legend(order(1 "Group 1" 3 "Group 2" 5 "Group 3") row(1)) yscale(range(0 10)) ylabel(0(2)10, angle(0))
;
#delimit cr
まとめ
- かなり強力なカラーパレットを入手しました.
- さらに詳しく知りたい方は、こちらも参考にしてください.Ado fileを作った人の記事っぽいです.(地図がスイス!)
ではまた!
コメント