【问题标题】:Recreating a visualization重新创建可视化
【发布时间】:2015-03-10 02:56:27
【问题描述】:

我对 R 非常陌生(1 周)。我想为附加的数据集重新创建以下图形。

Date        Rev
1/31/2013   536209
4/30/2013   559175
7/31/2013   535081
10/31/2013  529595
1/31/2014   530919
4/30/2014   518588
7/31/2014   382156
10/31/2014  336705
1/31/2015   326286

我找到了一个代码,我正试图针对我的情况进行修改,但没有成功。任何帮助将不胜感激。

rowseq <- seq(nrow(fp),1)
    par(mai=c(1,0,0,0))
    plot(fp$Rev, rowseq, pch=15,
        xlim=c(-10,12), ylim=c(0,7),
        xlab='', ylab='', yaxt='n', xaxt='n',
        bty='n')
    axis(1, seq(??,??,by=50000), cex.axis=.5)

    segments(1,-1,1,6.25, lty=3)
    segments(fp$Date, rowseq)

    text(-5,6.5, "Date", cex=.75, font=2, pos=4)
    t2 <- ifelse(!is.na(fp$Date), format(fp$Date,big.mark=","), '')
    text(-3, rowseq, t2, cex=.75, pos=2)

text(-1,6.5, "Rev", cex=.75, font=2, pos=4)
t3 <- ifelse(!is.na(fp$Rev), with(fp, paste(Rev)
text(3,rowseq, t3, cex=.75, pos=4)

【问题讨论】:

  • 你有什么尝试吗?你有没有卡在某个地方?这听起来不像是一个问题,而是要求别人为你做这项工作。 Stack Overflow 是一个问答网站。
  • 绝对不是需求。如果遇到这种情况,我深表歉意。我对 R 很陌生。我尝试调整为森林图找到的代码。然而,所有的情节都涉及许多变量,我没有取得任何成功。我正在使用代码。我会补充我的问题。
  • 然后包括您尝试过的代码,并清楚地描述您遇到问题的地方。最好的问题表明提问者自己已经做出了一些努力来回答问题。随意编辑您的帖子以明确这一点。
  • 我被挂断的地方是我只有两个变量。我发现的所有示例至少有 4 个。因此,调整我的数据,这不反映比率并且不包括高点和低点是我遇到问题的地方。我将找到一个可视化(如上面的示例),但我找不到与此示例接近的代码。

标签: r meta


【解决方案1】:

假设您的数据位于名为 dd 的 data.frame 中,您的示例图看起来非常接近这样的内容

library(ggplot2)
ggplot(dd) + 
   geom_segment(aes(x=0, xend=Rev, y=Date, yend=Date)) + 
   geom_point(aes(x=Rev, y=Date), size=4) +
   xlab("Rev")

【讨论】:

  • 您可能想在代码开头添加library(ggplot2),因为 OP 最初的尝试是使用基本绘图函数。
  • 非常感谢 MrFlick 和@thelatemail。这正是我试图描绘的。请再提一个问题。当我使用 as.date 命令转换日期然后绘图时,R 不会显示每个日期。这可以用 p+scale 函数纠正吗?这是否也会启用 x 轴上的 Rev 数字显示? fp$Date1
  • fp$Date1
  • 如果您希望每个日期都有一条线,最好将它们视为因素而不是图中的日期。因此,不要在aes() 部分中使用y=factor(Date1) 而不是y=Date1(一定要全部更改)。
  • 非常感谢您的帮助,MrFlick!
猜你喜欢
  • 2021-02-06
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 1970-01-01
  • 2019-12-30
  • 2020-12-19
  • 1970-01-01
  • 2011-11-25
相关资源
最近更新 更多