【问题标题】:How to do a plotly graph after a dcast table?如何在 dcast 表之后绘制图表?
【发布时间】:2018-06-12 22:57:41
【问题描述】:

我有一个包含日期和地点以及其他相关信息的数据库。我目前正在使用dcast 函数来计算一天和地点的每次出现(在真实数据库中用数字表示)。后来,我想做一个plotly grafic,其中day代表我的x坐标,place代表我的y坐标,z代表出现的次数。

我在这里提供一些虚拟数据,以简化:

day<-c(1,2,3)
place<-c("here", "there", "far away")
frequency<-c(1,2,4)

d<-data.frame(day,place,frequency)

z<-dcast(d, day~place, fill=0)

如何使用 plotly 进行绘制?

【问题讨论】:

  • 您必须更具体。您想为 x 轴(天?)和 y 轴(频率?)设置什么?
  • 我写道:'其中 day 代表我的 x 坐标,place 代表我的 y 坐标,z 将代表出现的次数。 ' 基本上是 (x,y,z)
  • 听起来不像火山图的定义(例如here)。这听起来更像是一个 3D 情节。
  • 我相信我可以同时使用这两种方法,但无论哪种方式,我都不明白用我拥有的数据来绘制它。我在此链接中指的是基本 3D 曲面图之类的东西:plot.ly/r/3d-surface-plots
  • 点赞:plot_ly(data = d, x = ~day, y = ~place, z = ~frequency, mode = "markers")?

标签: r plotly dcast


【解决方案1】:

这个范围很广,但你可以试试这个:

 place<-c("here", "there", "faraway")
 frequency<-c(1,2,4)

 d<-data.frame(day,place,frequency)

 z<-dcast(d, day~place, fill=0)
 z$day <- as.factor(z$day)
plot_ly(data = z, x = ~day, y = ~here, type = "bar", name = 'here') %>%
  add_trace(y = ~there, name = 'there') %>%
  add_trace(y = ~faraway, name = 'faraway') %>%
  layout(yaxis = list(title = 'Count'), barmode = 'group')

编辑:关注 OP cmets。您可以将其恢复为长格式,然后进行绘图。

d_long <- melt(z, id.vars=c("day"))
plot_ly(data = d_long, x = ~day, y = ~variable, z = ~value, mode = "markers") 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多