【问题标题】:How to draw a stacked dotplot in R? [closed]如何在 R 中绘制堆叠的点图? [关闭]
【发布时间】:2013-03-06 10:35:47
【问题描述】:

这是一个情节,我如何在 R 中绘制它?

【问题讨论】:

  • 您的数据是什么样的?将head(your_data) 的结果编辑到您的帖子中。

标签: r graphics plot


【解决方案1】:

基本 R 函数是 stripchart一个最小的例子一个计算出来的例子:

set.seed(1); A <- sample(0:10, 100, replace = TRUE)
stripchart(A, method = "stack", offset = .5, at = .15, pch = 19, 
           main = "Dotplot of Random Values", xlab = "Random Values")

您还可以使用offset 来增加堆叠点之间的差距,并使用pch 来更改点类型。

【讨论】:

  • 如何使x坐标变成0,1,2,3,4,5,6,7,8,9;不是0,2,4,6,8?
  • @it_is_a_literature:要更改 x 轴刻度线,您可以将 axes = FALSE 添加到您的 stripchart 调用中,然后运行 ​​axis(1, 1:10)
【解决方案2】:
library(ggplot2)
ggplot(mtcars, aes(x = mpg)) + geom_dotplot()

【讨论】:

  • 请添加您的代码结果以提高您的回答质量。
  • 这是对不添加图片的反对票吗? mtcars 是内置数据集,因此任何人都可以运行此代码。如果您愿意,请随时编辑和添加该图。
【解决方案3】:

仅供参考,这里是 y 轴点图的示例:

downv<- data.frame(
y<- c(rep(3,14),6,6,9,9,9,9,9.5,9.5,10.5,10.5,10.5,10.5,rep(11,8)),
l2<- c(rep(8,4),rep(6,6),4,4,8,8,8,4,rep(6,6),8,8,4,4,rep(6,8)),
l<- c(rep(0,7,),rep(1,7),0,1,0,0,1,1,0,1,0,0,1,1,rep(0,4),rep(1,4))
)

ggplot(downv, aes(x = factor(l), y = y, fill = factor(l2))) +
  geom_dotplot(binaxis = "y", stackdir = "center", position = "dodge", dotsize=3,  stackratio = .7) + 
scale_fill_manual(values=c("black", "black", "black"))


#need square aspect ratio    

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多