Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Tokyo.R RStudioでグラフをちょっときれいに出力する - CairoとAGG -
bob3bob3
May 31, 2022
Science
0
880
Tokyo.R RStudioでグラフをちょっときれいに出力する - CairoとAGG -
RStudioでグラフを描く際、グラフィック・デバイスをCairoやAGGに設定すると、アンチエイリアスの効いたキレイなグラフを出力できます。
RMarkdownでも使えます。
# TokyoR
bob3bob3
May 31, 2022
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
応用セッション発表のすすめ
bob3bob3
0
480
LT発表のすすめ
bob3bob3
0
270
Rコードのベンチマーク
bob3bob3
0
410
TokyoR#101 パーマーステーションのペンギンたち2 データクリーニング編
bob3bob3
1
390
失われたグラフを求めて
bob3bob3
1
500
Tokyo.Rも100回目なので、 そろそろPythonと仲良くしたい
bob3bob3
0
1.2k
UXリサーチの誕生
bob3bob3
0
380
Tokoy.R #99 パーマーステーションのペンギンたち #1
bob3bob3
1
760
Tokyo.R #98 Rを学ぶのは難しい
bob3bob3
3
2.9k
Other Decks in Science
See All in Science
Cross-Media Information Spaces and Architectures (CISA)
signer
PRO
3
16k
DoWhyとEconMLによる因果推論の実装
s1ok69oo
1
1.3k
ベイズ統計学入門 〜頻度主義からベイズ主義へ〜
ueniki
1
1.2k
深センにしかないものと日本にしかないものを組み合わせて、世界の問題を解いていく
takasumasakazu
0
190
AI最新論文読み会2022年7月
ailaboocu
0
320
SIGNATE ソニーグループ合同データ分析コンペティション(for Recruiting) 3rd Place Solution
yayaya
1
270
Phase reconstruction by integrating deep learning and signal processing
ymas0315
0
120
Causal Inference: What If, Chapter2
norihirosuzuki
0
360
ESG評価に対する自然言語処理の活用Workshop
icoxfog417
0
140
統計的因果推論の理論と実装「潜在的結果変数の枠組み」
s1ok69oo
3
1.6k
ベイズの定理を感じよう〜ベイズ主義入門〜
ueniki
1
370
【CVPR2022論文紹介】SignGAN
mkkon
0
2.7k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
407
21k
How To Stay Up To Date on Web Technology
chriscoyier
779
250k
The Invisible Customer
myddelton
113
12k
Music & Morning Musume
bryan
37
4.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
1.2k
The Cult of Friendly URLs
andyhume
68
5.1k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
Learning to Love Humans: Emotional Interface Design
aarron
263
38k
What's new in Ruby 2.0
geeforr
336
30k
The Web Native Designer (August 2011)
paulrobertlloyd
76
2.2k
Transcript
グラフをちょっとキレイに出力する - CairoとAGG - 2022/06/04 Tokyo.R #99 @bob3bob3
Graphics Deviceを変えてみる • 画像を描く仕組みのこと。RStudioではOSのデフォルトの他にCairoと AGG(Anti-Grain Geometry)が選べる。 • メニューのTools → GrobalOptions
→ General → Graphics で設定できる。
Cairo、AGGではアンチエイリアスの効いたなめらかな描画ができる。 Graphics Device による描画の違い デフォルト設定 Cairo AGG
Cairoはそのままだと日本語が豆腐になる。 Graphics Device による描画の違い デフォルト設定 Cairo AGG
フォントを指定すればCairoでも日本語が表示される。 Graphics Device による描画の違い(フォント指定) デフォルト設定 Cairo AGG
ggplot2でのフォントの指定 • ggplot2でフォントを指定するには以下を加えればOK。 ◦ theme(text = element_text("フォントファミリー名")) • 使えるフォントファミリーは以下で確認できる。 ◦
systemfonts::system_fonts() |> select(family) |> distinct() |> View() ◦ よく使われるフォントファミリーは以下。 ▪ Windows: Meiryo, Yu Gothic, UD Digi Kyokasho NK-B ▪ Mac: Hiragino Sans, Noto Sans CJK JP
• アンチエイリアスが効く分、PNG形式ではファイルサイズが大きくなる。 ファイルサイズは大きくなる 8kb 78kb 80kb
RMarkdownでAGGを使いたい • setupチャンクに以下を書いておけばファイル全体に適用され る。 knitr::opts_chunk$set(dev = "ragg_png") • YAMLヘッダーに以下のように書くのでもOK •
チャンクごとに設定したい場合はチャンクオプションを以下のようにす る。 ```{r hogehoge, dev = "ragg_png"}
まとめ • CairoとAGG、どちらもアンチエイリアスが効いた滑らかな描画が特徴。 • 文字(フォント)の表現が結構違う。 • アンチエイリアスが効く分、PNG形式だとファイルサイズが大きくなる。 • Cairoは日本語の表示にフォントの指定が必要。 •
AGGはCairoより高速。2006年で開発が止まっている。 • Enjoy!