首页 > 解决方案 > 如何在 dcast 表之后绘制图表?

问题描述

我有一个数据库,包括日期和地点,以及其他相关信息。我目前正在使用该dcast功能来计算一天和地点的每次出现(在真实数据库中由数字表示)。后来我想做一个plotly图,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 绘制这个?

标签: rplotlydcast

解决方案


这真的很广泛,但你可以试试这个:

 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 评论。您可以将其恢复为长格式,然后进行绘图。

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

推荐阅读