準備 例として以下のような、dplyr::group_byでグループ化したデータフレームを用意する。 library(dplyr) library(magrittr) library(ggplot2) df <- data.frame( x = rep(c(1, 2, 4), c(10, 1, 20)), g = rep_len(c("a", "b"), 31) ) df %<>% group_by(g) table(df)
![geom_barにおけるy軸の対数変換について - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/6350a9bb6285034b6d92aa4409da9a7d6eb01169/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9Z2VvbV9iYXIlRTMlODElQUIlRTMlODElOEElRTMlODElOTElRTMlODIlOEJ5JUU4JUJCJUI4JUUzJTgxJUFFJUU1JUFGJUJFJUU2JTk1JUIwJUU1JUE0JTg5JUU2JThGJTlCJUUzJTgxJUFCJUUzJTgxJUE0JUUzJTgxJTg0JUUzJTgxJUE2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03MzdiZGI4ZjAyNzQxNjc1MzAyMDQ3NjY3ZWJmNzUyYQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbm96bWEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWMzZGE3ZmNiNTg3YTU3ZjU0ZmJiYmMxYTk4N2UzZTA2%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dd038ec4b0613107475099329c785bbfb)
(2022-05-06追記) 一時変数を使用しない + グループ別の集計に対応した方法を書いた: ggplot2でヒストグラムに経験分布を重ねて描く - もうカツ丼はいいよな stat_bin()内部で..count..をゴニョゴニョしつつ値を保持しておき、第2軸の描画に保持した値を流用するとそれっぽい感じに。 library(ggplot2) bins <- 30 ggplot(diamonds, aes(carat)) + geom_histogram(bins = bins) + stat_bin(aes(y = cumsum(cnt <<- ..count..) / sum(..count..) * max(..count..)), geom = "line", bins = bins) + scale_y_continuous(sec.axis = sec_axis(~ . /
patchworkはggplot2により作成された複数のプロットをめちゃ簡単に組み合わせられるようにすることを目標として開発されているパッケージだ。 同様の目的のパッケージ、関数として、gridExtra::grid.arrange()やcowplot::plot_grid()があるが、これらで上手くやろうとすると試行錯誤が結構必要となる。 これに対し、patchworkでは演算子を使った直感的な記法でプロットを組み合わせられるので、より簡単で可読性に優れた記述が可能となる。 インストール 現在はCRANからインストールできる。 # devtools::install_github("thomasp85/patchwork") install.packages("patchwork")
shop=# SELECT * FROM Shohin; shohin_id | shohin_mei | shohin_bunrui | hanbai_tanka | shiire_tanka | torokubi | shohin_mei_kana -----------+----------------+---------------+--------------+--------------+------------+----------------- 0001 | Tシャツ | 衣服 | 1000 | 500 | 2009-09-20 | 0002 | 穴あけパンチ | 事務用品 | 500 | 320 | 2009-09-11 | 0003 | カッターシャツ | 衣服 | 4000 | 2800 | | 0004 | 包丁 | キッチン用品 | 3000 | 2800 | 2
2軸プロットが欲しくなるとき y軸が左右にあるいわゆる2軸プロットはExcelなんかでは簡単に作れるがggplot2では簡単には作れない。 つまりそもそもそんなもん作るなという話だが、欲しくなる場面はある。 例として気温(℃)と相対湿度(%)と飽差(Pa)をプロットする場合を挙げよう。飽差は気温と相対湿度から算出できる数値で、「乾きやすさ」の指標と考えてもらえればいい。 日常的な環境では、3つの変数のうち相対湿度が最も大きく変動するので、これらを1枚に収めると相対湿度の変動だけが目立ってしまう。したがって、相対湿度だけ第2軸に移してなんとかしたい、という動機が生ずる。 使用データ 上述の気温、相対湿度、飽差をプロットする例を想定し、次のように作成した。 ## function ---- svp <- function(t){ # 飽和水蒸気圧計算 Alduchov and Eskridge
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く