Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tokyo.R RStudioでグラフをちょっときれいに出力する - CairoとAGG -
Search
bob3bob3
May 31, 2022
Science
0
1.3k
Tokyo.R RStudioでグラフをちょっときれいに出力する - CairoとAGG -
RStudioでグラフを描く際、グラフィック・デバイスをCairoやAGGに設定すると、アンチエイリアスの効いたキレイなグラフを出力できます。
RMarkdownでも使えます。
# TokyoR
bob3bob3
May 31, 2022
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
290
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
320
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
380
qeMLパッケージの紹介
bob3bob3
0
1k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
340
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
450
Redditで遊ぼう #TokyoR 106
bob3bob3
0
540
シン・初心者のためのR-Tips
bob3bob3
0
360
応用セッション発表のすすめ
bob3bob3
0
700
Other Decks in Science
See All in Science
Machine Learning for Materials (Lecture 6)
aronwalsh
0
430
Machine Learning for Materials (Lecture 4)
aronwalsh
0
690
名古屋市立大学データサイエンス学部 夏のオープンキャンパス模擬授業20230818
ncu_ds
0
1.5k
BigQueryで参加するレコメンドコンペ / bq-recommend-competition-kaggle-meetup-tokyo-2023
shimacos
1
1.3k
Microbiology Labs.
maleehafatima
0
140
大規模画像テキストデータのフィルタリング手法の紹介
lyakaap
5
1.1k
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
1
200
統計的因果探索の方法
sshimizu2006
0
890
はじめての「相関と因果とエビデンス」入門:“動機づけられた推論” に抗うために
takehikoihayashi
15
5.5k
Onsager代数とその周辺 / Onsager algebra tsudoi
usamik26
0
390
O ChatGPT e outras IAs vão mudar toda a pesquisa científica
cardososampaio
0
180
Machine Learning for Materials (Lecture 3)
aronwalsh
0
850
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
67
14k
Making the Leap to Tech Lead
cromwellryan
125
8.6k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
How to name files
jennybc
65
93k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Producing Creativity
orderedlist
PRO
338
39k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
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!