This is an introduction to the ggplot2 package, which is useful for plotting text within a graph area. It automatically adjusts the text size to fit perfectly within the area. It can have many uses.
Package version is 0.9.1. Checked with R version 4.2.2.
Install Package
Run the following command.
#Install Package
install.packages("ggfittext")
Example
See the command and package help for details.
#Loading the library
library("ggfittext")
###Creating Data#####
#tInstall the tidyverse package if it is not already there
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
tibble(Text = c("kara", "だ", "Ni", "いい", "MO", "の"),
Value = sample(1:10, 6),
x = rep(1:3, 2),
y = rep(2:1, each = 3)) -> TestData
########
#Character fit plotting: geom_fit_text command, geom_bar_text command
#Center alignment:reflow = TRUE/FALSE
#Enlarge/reduce text to fit the area:grow = TRUE/FALSE
#Font position:place = "top", "topright", "right", "bottomright", "bottom", "bottomleft"
#Automatic adjustment of text color:contrast = TRUE/FALSE
#Example 1:grow = TRUE
ggplot(TestData, aes(x = x, y = y, fill = Value, label = Text)) +
geom_tile() +
scale_fill_gradient(low = "black", high = "yellow") +
geom_fit_text(reflow = TRUE, grow = TRUE, contrast = TRUE)
#Example 2:grow = FALSE
ggplot(TestData, aes(x = x, y = y, fill = Value, label = Text)) +
geom_tile() +
scale_fill_gradient(low = "black", high = "yellow") +
geom_fit_text(reflow = TRUE, grow = FALSE, contrast = TRUE)
#Example 3:grow = TRUE
ggplot(TestData, aes(x = x, y = Value, fill = Value, label = Text)) +
geom_col(position = "dodge") +
geom_bar_text(reflow = FALSE, grow = TRUE,
contrast = TRUE, place = "topright")
#Example 4:grow = FALSE
ggplot(TestData, aes(x = x, y = Value, fill = Value, label = Text)) +
geom_col(position = "dodge") +
geom_bar_text(reflow = FALSE, grow = FALSE,
contrast = TRUE, place = "topright")
Output Example
・Example1:grow = TRUE

・Example2:grow = FALSE

・Example3:grow = TRUE

・Example4:grow = FALSE

I hope this makes your analysis a little easier !!