R の ggplotX 軸ティックラベルを変更する

胡金庫 2023年1月30日
  1. scale_x_discrete を使用して、R の ggplot X 軸ティックラベルを変更する
  2. カスタム関数で scale_x_discrete を使用して、R の ggplot X 軸ティックラベルを変更する
R の ggplotX 軸ティックラベルを変更する

この記事では、R の ggplot x 軸ティックラベルを変更する方法を紹介します。

scale_x_discrete を使用して、R の ggplot X 軸ティックラベルを変更する

scale_x_discretescale_y_discrete は、プロットのスケールラベルと制限の高度な操作に使用されます。この場合、scale_x_discrete を使用して ggplot オブジェクトの x 軸目盛りラベルを変更します。最初の ggplot オブジェクトは、diamonds データセットに基づく棒グラフであることに注意してください。グラフは cut 列を使用し、y 軸に各タイプのカウントをプロットします。x 軸のデフォルトのタイトルは cut です。これは、scale_x_discrete の最初の引数として文字列を渡すことで変更できます。または、ベクトルを作成して labels パラメータに割り当てることにより、各ラベルに特定の文字列値を渡すこともできます。両方のグラフは、gridExtra パッケージの一部である grid.arrange 関数を使用して並べて描画されます。

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(cut)) + geom_bar(fill = "orange") + scale_x_discrete("Cut")
p2 <- p1 + scale_x_discrete("Cut Type", labels = c("Fair" = "F","Good" = "G", "Very Good" = "VG","Premium" = "P","Ideal" = "I"))

grid.arrange(p1, p2, ncol = 2)

ggplot 軸ティックラベル 1

x 軸のラベルを変更するもう 1つの便利な方法は、関数オブジェクトを labels パラメーターとして渡すことです。次のコードスニペットは、abbreviate 関数を使用してラベルを自動的に短縮し、グラフを 2つの列として描画します。

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(cut)) + geom_bar(fill = "orange") + scale_x_discrete("Cut")
p2 <- p1 + scale_x_discrete("Cut Type", labels = c("Fair" = "F","Good" = "G", "Very Good" = "VG","Premium" = "P","Ideal" = "I"))
p3 <- p1 + scale_x_discrete("Cut Type", labels = abbreviate)

grid.arrange(p2, p3, ncol = 2)

ggplot 軸ティックラベル 2

scale_x_discrete はさまざまなグラフで同様に機能し、次の例に示すように、ラベル操作手法を適用できます。つまり、いくつかの散布図が mpg データセットから描画されます。

library(ggplot2)
library(gridExtra)

p1 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point()

p2 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point() +
  scale_x_discrete(labels = abbreviate)

p3 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point(colour = "blue") +
  scale_x_discrete(labels = abbreviate)

grid.arrange(p1, p2, p3, nrow = 3)

ggplot 軸ティックラベル 3

カスタム関数で scale_x_discrete を使用して、R の ggplot X 軸ティックラベルを変更する

scale_x_discrete パラメータ labels は、カスタム関数オブジェクトを使用して、それに応じて各ティックラベルを変更できます。この場合、最初に各ラベルを省略してから、文字列の開始文字を大文字に変換する capitalize_all 関数を実装しました。pastetouppersubstring、および abbreviate の組み込み関数を使用して capitalize_all 機能を実装しますが、これらのメソッドの完全なレビューはこの記事の範囲外であることに注意してください。マニュアルページは、R コンソールの ?function_name 表記を使用して表示できます。

library(ggplot2)
library(gridExtra)

capitalize_all <- Vectorize(function(x) {
  s <- abbreviate(x)
  paste(toupper(substring(s, 1,1)), substring(s, 2), sep="", collapse=" ")
})

ggplot(mpg, aes(manufacturer, cty)) + geom_point(aes(colour = trans)) +
  scale_x_discrete(labels = capitalize_all)

ggplot 軸ティックラベル 4

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - R Plot