如何使用 ggplot2 在 R 中重新排序箱线图?
在本文中,我们将讨论如何在 R 编程语言中使用 ggplot2 对箱线图重新排序。
为了重新排序箱线图,我们将使用 ggplot2 的 reorder()函数。
Syntax: ggplot(sample_data, aes(x=reorder(name,value),y=value))
默认情况下,ggplot2 按字母顺序对组进行排序。但是为了更好地可视化数据,有时我们需要以递增和递减的顺序对它们进行重新排序。这就是 reorder()函数发挥作用的地方。当我们在美学函数aes() 中指定 x 轴变量时,我们使用 reorder()函数。默认情况下,Reorder()函数按 x 轴变量的平均值对载体进行排序。
示例 1:按升序重新排序
在此示例中,箱线图已使用 reorder()函数重新排序。箱线图的所有点均按其 x 轴值的均值递增顺序排列。
R
# load library tidyverse
library(tidyverse)
# Diamonds dataset is provided by R natively
# we will use that same dataset for our plot
# basic boxplot
# reorder plot using reorder() function
# reorder function reorders plot according to
# mean of variable
ggplot(diamonds, aes(x=reorder(cut,price), y=price)) +
# geom_boxplot is used to plot the boxplot
geom_boxplot()
R
# load library tidyverse
library(tidyverse)
# Diamonds dataset is provided by R natively
# we will use that same dataset for our plot
# basic boxplot
# reorder plot using reorder() function
# reorder function reorders plot according to mean of variable
# Add -ve sign in price to get result in descending order
ggplot(diamonds, aes(x=reorder(cut, -price), y=price)) +
# geom_boxplot is used to plot the boxplot
geom_boxplot()
输出:
在这里,在此箱线图中,由于使用了 reorder()函数,所有箱体都按价值价格均值的递增顺序排列。
示例 2:按降序重新排序
要按降序对数据重新排序,我们将 -ve 值作为参数传递给 reorder()函数。这会根据作为参数传递的数据平均值的降序对绘图重新排序。
电阻
# load library tidyverse
library(tidyverse)
# Diamonds dataset is provided by R natively
# we will use that same dataset for our plot
# basic boxplot
# reorder plot using reorder() function
# reorder function reorders plot according to mean of variable
# Add -ve sign in price to get result in descending order
ggplot(diamonds, aes(x=reorder(cut, -price), y=price)) +
# geom_boxplot is used to plot the boxplot
geom_boxplot()
输出:
此处,在此箱线图中,由于使用了 reorder()函数,所有箱体均按价值价格均值的降序排列。