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.4k
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でコンジョイント分析 2024年版
bob3bob3
0
300
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
210
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
380
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
360
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
430
qeMLパッケージの紹介
bob3bob3
0
1.2k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
390
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
520
Redditで遊ぼう #TokyoR 106
bob3bob3
0
580
Other Decks in Science
See All in Science
Celebrate UTIG: Staff and Student Awards 2024
utig
0
200
The Incredible Machine: Developer Productivity and the Impact of AI
tomzimmermann
0
270
Leveraging conformal prediction for calibrated probabilistic time series forecasts to accelerate the renewable energy transition
ingevandenende
2
310
Snowflake上でRを使う: RStudioセットアップとShinyアプリケーションのデプロイ
ktatsuya
0
260
【論文紹介】DocTr_ Document Transformer for Structured Information Extraction in Documents / iccv2023-doctr
yuya4
3
680
はじめての「相関と因果とエビデンス」入門:“動機づけられた推論” に抗うために
takehikoihayashi
16
6.3k
Machine Learning for Materials (Lecture 6)
aronwalsh
0
460
Coqで選択公理を形式化してみた
soukouki
0
110
Machine Learning for Materials (Lecture 9)
aronwalsh
0
170
解説!データ基盤の進化を後押しする手順とタイミング
shomaekawa
1
280
拡散モデルの概要 −§2. スコアベースモデルについて−
nearme_tech
PRO
0
220
HAS Dark Site Orientation
astronomyhouston
0
5.1k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
63
11k
Practical Orchestrator
shlominoach
185
10k
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
A Philosophy of Restraint
colly
200
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
The Invisible Side of Design
smashingmag
294
50k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Designing for Performance
lara
604
67k
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!