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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
790
RでPSM分析
bob3bob3
1
400
Rでコンジョイント分析 2024年版
bob3bob3
0
2.1k
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
1.3k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
620
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
560
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
630
qeMLパッケージの紹介
bob3bob3
0
2.3k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
620
Other Decks in Science
See All in Science
機械学習 - ニューラルネットワーク入門
trycycle
PRO
0
930
People who frequently use ChatGPT for writing tasks are accurate and robust detectors of AI-generated text
rudorudo11
0
190
俺たちは本当に分かり合えるのか? ~ PdMとスクラムチームの “ずれ” を科学する
bonotake
2
1.6k
やるべきときにMLをやる AIエージェント開発
fufufukakaka
2
910
baseballrによるMLBデータの抽出と階層ベイズモデルによる打率の推定 / TokyoR118
dropout009
2
660
Rashomon at the Sound: Reconstructing all possible paleoearthquake histories in the Puget Lowland through topological search
cossatot
0
480
LayerXにおける業務の完全自動運転化に向けたAI技術活用事例 / layerx-ai-jsai2025
shimacos
4
21k
データマイニング - グラフ埋め込み入門
trycycle
PRO
1
150
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
1k
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
PRO
0
140
MCMCのR-hatは分散分析である
moricup
0
580
Text-to-SQLの既存の評価指標を問い直す
gotalab555
1
170
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
320
Automating Front-end Workflow
addyosmani
1371
200k
How to build a perfect <img>
jonoalderson
1
4.9k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
Designing for Timeless Needs
cassininazir
0
130
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
130
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Typedesign – Prime Four
hannesfritz
42
2.9k
Six Lessons from altMBA
skipperchong
29
4.1k
Making Projects Easy
brettharned
120
6.6k
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!