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
800
RでPSM分析
bob3bob3
1
410
Rでコンジョイント分析 2024年版
bob3bob3
0
2.1k
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
1.3k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
630
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
560
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
630
qeMLパッケージの紹介
bob3bob3
0
2.3k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
630
Other Decks in Science
See All in Science
データベース09: 実体関連モデル上の一貫性制約
trycycle
PRO
0
1.1k
People who frequently use ChatGPT for writing tasks are accurate and robust detectors of AI-generated text
rudorudo11
0
190
academist Prize 4期生 研究トーク延長戦!「美は世界を救う」っていうけど、どうやって?
jimpe_hitsuwari
0
470
データマイニング - ウェブとグラフ
trycycle
PRO
0
240
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
PRO
1
230
PPIのみを用いたAIによる薬剤–遺伝子–疾患 相互作用の同定
tagtag
PRO
0
170
Optimization of the Tournament Format for the Nationwide High School Kyudo Competition in Japan
konakalab
0
150
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
PRO
0
1.1k
My Little Monster
juzishuu
0
560
2025-06-11-ai_belgium
sofievl
1
230
AIに仕事を奪われる 最初の医師たちへ
ikora128
0
1k
高校生就活へのDA導入の提案
shunyanoda
1
6.2k
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Practical Orchestrator
shlominoach
191
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Designing Powerful Visuals for Engaging Learning
tmiket
0
240
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
The Spectacular Lies of Maps
axbom
PRO
1
530
Six Lessons from altMBA
skipperchong
29
4.2k
First, design no harm
axbom
PRO
2
1.1k
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!