本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

Rで解析:ggplot2の図の体裁操作がちょっとは楽になるかも「ggeasy」パッケージ

ggplot2で図の凡例のタイトルや位置、テキストのサイズや色、プロットエリアのグリッド削除などを簡単に設定できるパッケージの紹介です。一部コマンドでggplot2の再現コマンド例を紹介します。

パッケージバージョンは0.1.5。実行コマンドはR version 4.4.2で確認しています。

パッケージのインストール

下記、コマンドを実行してください。

# パッケージのインストール
install.packages("ggeasy")
スポンサーリンク

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

# パッケージの読み込み
library("ggeasy")

### データ例の作成 #####
n <- 30
TestData <- data.frame(Group = sample(paste0("Group ", 1:5), n,
                                      replace = TRUE),
                       Data1 = sample(0:26, n, replace = TRUE),
                       Data2 = rnorm(n))
########

### プロット例の作成 #####
# tidyverseパッケージの読み込み
# tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}

TestPlot <- ggplot(TestData, aes(x = Data1, y = Data2,
                                 color = Group, size = Data2)) +
  geom_point()
########

## 凡例タイトルの変更:easy_add_legend_titleコマンド
# 指定しなければ全凡例タイトルを変更
TestPlot +
  easy_add_legend_title("Test")

# 特定の凡例タイトルを変更
TestPlot +
  easy_add_legend_title(color = "Test")

# ggplot2再現例
# TestPlot + labs(color = "Test") 

## 凡例タイトル位置の変更:easy_change_legendコマンド
# 位置の指定:toオプション;"right","none","left","bottom","top"
TestPlot +
  easy_change_legend(to = "left")

# ggplot2再現例
# TestPlot + theme(legend.position = "left")

## 凡例タイトルの削除:easy_remove_legendコマンド
# 指定しなければ全凡例タイトルを変更
TestPlot +
  easy_remove_legend()

# 特定の凡例タイトルを変更
TestPlot +
  easy_remove_legend(color)

# ggplot2再現例
# TestPlot + guides(color = "none",
#                   size = "none")

## 凡例内容の回転:easy_rotate_legendコマンド
# 回転方向:toオプション;"vertical","horizontal"
TestPlot +
  easy_rotate_legend(to = "horizontal")

# ggplot2再現例
# TestPlot + guides(color = guide_legend(direction = "horizontal"),
#                   size = guide_legend(direction = "horizontal"))

## 凡例の削除:easy_remove_legend_titleコマンド
TestPlot +
  easy_remove_legend_title()

# ggplot2再現例
# TestPlot + labs(colour = NULL, size = NULL)

### テキスト関係のコマンド #####
# 全てのテキストのサイズを指定:easy_all_text_sizeコマンド
TestPlot +
  easy_all_text_size(size = 20)

# 指定したテキストのサイズを指定:easy_text_sizeコマンド
# 場所の指定:“text”,“axis.text”,"axis.text.x”,“axis.text.y”,
#“axis.title”,“axis.title.x”,“axis.title.y”,“legend.text”,
#“legend.title”,“plot.title”,“plot.subtitle”,“plot.caption”,
#“strip.text”,“strip.text.x”,“strip.text.y”
TestPlot +
  easy_text_size(which = "axis.title.x", size = 20)

# 全てのテキスト色を指定:easy_all_text_colorコマンド
TestPlot +
  easy_all_text_color(color = "red")

# 指定したテキスト色を指定:easy_all_text_colorコマンド
# 場所の指定はeasy_text_sizeコマンドを参照
TestPlot +
  easy_text_color(which = "axis.title.x", color = "red")

# 軸テキストの回転:easy_rotate_labelsコマンド
# 軸を指定:whichオプション;"both", "x", "y"
# 角度を指定:angleオプション
# テキストの水平方向の配置:sideオプション;"left","middle","right"
# 「easy_rotate_x_labels」,「easy_rotate_y_labels」コマンドもあり 
TestPlot +
  easy_rotate_labels(which = "both", angle = 45, side = "middle")

# ggplot2再現例
# TestPlot +
#   theme(axis.text.x = element_text(angle = 45, vjust = 0.5, hjust = 1),
#         axis.text.y = element_text(angle = 45, vjust = 0.5, hjust = 1),
#         #axis.text = element_text(angle = 45, vjust = 0.5, hjust = 1)
#         ) 

### プロットエリアの調整 #####
# グリッド(線)を削除:easy_remove_gridlinesコマンド
# 方向:axisオプション;"both", "x", "y"
# minorグリッド:minorオプション;TRUE(削除)/FALSE
# majorグリッド:majorオプション;TRUE/FALSE
# 「easy_remove_x_gridlines」/「easy_remove_y_gridlines」コマンドもある
TestPlot +
  easy_remove_gridlines(axis = "both",
                        minor = FALSE,
                        major = TRUE)

# 軸の色々を削除:easy_remove_axesコマンド
# 方向:whichオプション;"both","x","y"
# 削除内容を指定:whatオプション;"ticks","title","text","line"
TestPlot +
  easy_remove_axes(which = "both", what = c("ticks", "title", "text", "line"))

# ggplot2再現例
# TestPlot +
#   theme(#panel.grid.major = element_blank(),
#         #panel.grid.minor = element_blank(),
#         panel.grid = element_blank(),
#         panel.border = element_blank(),
#         axis.text = element_blank(),
#         axis.title = element_blank(),
#         axis.ticks = element_blank())

実行例

・凡例タイトル位置の変更:easy_change_legendコマンド

・凡例内容の回転:easy_rotate_legendコマンド

少しでも、あなたの解析が楽になりますように!!

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.