R-如何使用ggplot2在轴上显示有序因子的值

昆佩尔卡

我想在条形图上显示排序因子的值ggplot2(理想情况下,在标准图上)。

我有一个像这样的有序因素:

“您对练习的满意程度:”-绝对不满意=>值1-不满意=>值2-满意=>值3-非常满意=>值4

我想绘制一个均值而不是1-> 4的均值和值“绝对不满意”->“非常满意”的条形图。

有可能做到这一点ggplot2吗?在我看来,主要困难在于绘制因子的均值而不是值的分布(实际上,我的绘制是通过将有序因子转换为整数来完成的)。

这是数据集上dput的结果。

structure(c(3L, 2L, 3L, 2L, 2L, 3L, 2L, NA, 2L, 3L, 4L, 2L, 1L
), .Label = c("pas du tout satisfait", "plutôt pas satisfait", 
"plutôt satisfait", "très satisfait"), class = c("ordered", 
"factor"))

这是barplot的示例(轴上没有值...):

例

代码如下。

Toto <- structure(c(3L, 2L, 3L, 2L, 2L, 3L, 2L, NA, 2L, 3L, 4L, 2L, 1L
), .Label = c("pas du tout satisfait", "plutôt pas satisfait", 
              "plutôt satisfait", "très satisfait"), class = c("ordered","factor"))

TotoNumeric <- as.data.frame(as.integer(Toto))

DataForGggplot2 <- as.data.frame(round(sapply(X = TotoNumeric, FUN = "mean", na.rm = TRUE), 1))
colnames(DataForGggplot2) <- "Donnees"
DataForGggplot2$Etiquette <- "the exercises"

Graphe <- ggplot(data = DataForGggplot2, aes(x = Etiquette, y = Donnees)) +
  geom_bar(stat = "identity", fill = "blue") +
  scale_y_continuous(limits = c(0, 4))
  coord_flip()

print(Graphe)

如果我的要求不清楚,我可以为您提供更多详细信息。

谢谢

哈克

有一个称为一个选项labelsscale_y_continuous,你可以使用这个。

对于此示例,我假设您要使用的因子为Toto由于您将限制设置为0-4(即长度= 5),但只有4个级别Toto,因此我添加NA了0值。您也可以将限制设置为0-3或1-4,而无需添加NA水平。

library(ggplot2)

Toto <- structure(c(3L, 2L, 3L, 2L, 2L, 3L, 2L, NA, 2L, 3L, 4L, 2L, 1L
), .Label = c("pas du tout satisfait", "plutôt pas satisfait", 
              "plutôt satisfait", "très satisfait"), class = c("ordered","factor"))

TotoNumeric <- as.data.frame(as.integer(Toto))

DataForGggplot2 <- as.data.frame(round(sapply(X = TotoNumeric, FUN = "mean", na.rm = TRUE), 1))
colnames(DataForGggplot2) <- "Donnees"
DataForGggplot2$Etiquette <- "the exercises"

Graphe <- ggplot(data = DataForGggplot2, aes(x = Etiquette, y = Donnees)) +
  geom_bar(stat = "identity", fill = "blue") +
  scale_y_continuous(name="Toto",  labels = c("NA", levels(Toto)),limits = c(0, 4))

coord_flip()

print(Graphe)

在此处输入图片说明

有关更多详细信息和示例,是一个很好的资源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 R ggplot2 中显示 X 和 Y 轴上的所有值

如何使用r中的plot()在x轴上创建具有有序字符变量的散点图?

在ggplot2中的x轴上绘制有序因子

如何每秒显示R ggplot2 x轴标签值?

如何使用 R 中的有序因子系数进行预测?

在ggplot x轴上显示所有日期值-R

在R中使用ggplot2向所有X轴值添加名称

R子集有序因子

如何在R图中仅显示特定轴值的一条水平线-ggplot2

如何在R ggplot2中基于y轴值对x轴重新排序

R在y轴上具有值的绘图因子

如何在ggplot2(R)中的水平轴上制作带有时间的直方图

在R中,是否可以将NA作为有序因子水平的最小值?

R-使用ggplot2创建的相关热图:如何在y轴上翻转标签?

当响应已经是有序的因子时,R显示“ getY(fullmf)中的错误:响应必须是一个因子”

R:ggplot2轴显示两个范围

如何将R数字数据框更改为有序因子的数据框?

在 R base plot 和 GGPlot2 中在 x 轴和 y 轴上显示相应的虚线

R-带有ggplot2的气候仪:更改降水值以适合第二轴

如何使用ggplot2在R中的2-y轴图的两个轴上添加千位分隔符

R:ggplot2:在轴上启动的绘图

R:删除多余的X轴值(ggplot2)

R ggplot-将所有离散x值显示在直方图中的轴上

如何使用ggplot2在R中使用轴标签和旋转格式设置雷达图

R中使用ggplot2带有下标字符的粗体轴

如何在ggplot2 R图中设置轴的极限?

如何在ggplot2 R中的stat_poly_eq(即方程和R平方值)上使用mapply?

R:ggplot在x轴上显示所有日期

R如何使用case_when()确定列中的先前值是否大于有序向量中的后续值