开发者社区> 问答> 正文

ggplot2 dotplot如何创建空的x轴类别

我在制作的CSV文件中有一些数据,以便创建不同分布的点图。

这些是虚构数据:

structure(list(uniform = c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 
4, 4, 4, 4, 5, 5, 5, 5), left_skew = c(1L, 2L, 2L, 3L, 3L, 3L, 
4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L), right_skew = c(5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 
2L, 2L, 1L), trunc_uni_left = c(3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L), trunc_uni_right = c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 
3L, 3L, 3L), trunc_norm_left = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L), trunc_norm_right = c(1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L), bimodal = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L), extreme_left = c(3L, 
3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L), extreme_right = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L)), row.names = c(NA, 
-20L), class = "data.frame")

当x轴上的五个类别中的每个类别都有“观察”时,点状图将起作用。但是,如果缺少值,则仅反映这些类别。例如,在一个图中没有1和2,因此该图仅显示类别3、4和5。

我尝试使用scale_x_discrete设置限制和中断,但这不起作用。

这是我用来绘制数据的代码:

ggplot(df, aes(x = trunc_uni_left))+
  geom_point()+ 
  geom_dotplot(method = "histodot", binwidth = 0.25, fill = 'red', dotsize = 0.75)+
  labs(x = 'Rating Categories', y = 'Rating Frequency')+
  theme_bw()+
  ylim(0 , 20)+
  scale_x_discrete(breaks = c ("0.5", "1", "1.5", "2", "2.5"),
                   labels = c ("1", "2", '3', '4', '5'),
                   limits = c ("1", "2", "3", "4", "5"))+
  theme(panel.grid = element_blank(),
        text = element_text(size = 16),
        axis.text.x = element_text(size =  16),
        axis.title.x = element_text(size = 16, margin = margin(t = 20)),
        axis.title.y = element_text(size = 16, margin = margin(r = 20)),
        legend.title= element_text(size = 16))

我可以在ggplot中做些什么来实现这一目标吗?或者,是否可以在R中创建一个数据框以使我做到这一点?

我不是世界上最好的编码器,因为您可能会说出来,非常感谢您的帮助。

谢谢!

展开
收起
几许相思几点泪 2019-12-03 15:34:29 518 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载