Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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.9k
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とLLMで自然言語処理
bob3bob3
3
740
RでPSM分析
bob3bob3
1
340
Rでコンジョイント分析 2024年版
bob3bob3
0
1.9k
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
1.3k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
620
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
550
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
620
qeMLパッケージの紹介
bob3bob3
0
2.3k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
610
Other Decks in Science
See All in Science
論文紹介 音源分離:SCNET SPARSE COMPRESSION NETWORK FOR MUSIC SOURCE SEPARATION
kenmatsu4
0
440
ド文系だった私が、 KaggleのNCAAコンペでソロ金取れるまで
wakamatsu_takumu
2
1.7k
なぜ21は素因数分解されないのか? - Shorのアルゴリズムの現在と壁
daimurat
0
210
DMMにおけるABテスト検証設計の工夫
xc6da
1
1.4k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
160
データベース02: データベースの概念
trycycle
PRO
2
980
Rashomon at the Sound: Reconstructing all possible paleoearthquake histories in the Puget Lowland through topological search
cossatot
0
170
NDCG is NOT All I Need
statditto
2
2.6k
HajimetenoLT vol.17
hashimoto_kei
1
110
安心・効率的な医療現場の実現へ ~オンプレAI & ノーコードワークフローで進める業務改革~
siyoo
0
420
機械学習 - 決定木からはじめる機械学習
trycycle
PRO
0
1.2k
Accelerating operator Sinkhorn iteration with overrelaxation
tasusu
0
120
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Mobile First: as difficult as doing things right
swwweet
225
10k
Building Adaptive Systems
keathley
44
2.9k
Building an army of robots
kneath
306
46k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Practical Orchestrator
shlominoach
190
11k
Faster Mobile Websites
deanohume
310
31k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Git: the NoSQL Database
bkeepers
PRO
432
66k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
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!