【问题标题】:How to make an interactive graph in R-studio如何在 R-studio 中制作交互式图表
【发布时间】:2015-12-01 20:43:17
【问题描述】:

数据有 4 列和大约 600 行。数据是使用twitteR 包收集的推特数据,然后汇总到数据框中。摘要基于每条推文有多少来自这些库的单词,给推文打分,然后摘要是获得特定分数的推文数量。所以列是两种类型的分数,日期,然后是具有这些分数的推文数量。

Score1  Score2  Date        Number    
0       0       01/10/2015  50
0       1       01/10/2015  34
1       0       01/10/2015  10
...and so on 

日期和数据超过一个月,任何一种方式的分数都可以达到 +/- 10 左右。

我正在尝试使用气泡图来绘制这种数据,x 轴上的 score1 和 y 轴上的 score2,气泡的大小取决于数字(每个有多少带有这些分数的推文天)。 我的问题是我只知道怎么用ggplot。

g <- ggplot(
 twitterdata, 
  aes(x=score1, y=score2, size=number, label=""), guide=FALSE) +
  geom_point(colour="black", fill="red", shape=21) + 
  scale_size_area(max_size = 30) + 
  scale_x_continuous(name="score1", limits=c(0, 10)) + 
  scale_y_continuous(name="score2", limits=c(-10, 10)) + 
  geom_text(size=4) + 
  theme_bw()

这只是给了我所有日期的情节,我需要的是一种很好的方法来查看这些数据如何随时间变化。我已经研究过使用滑块和选择器,但我真的不知道什么是最好的工具。我尝试根据日期对数据进行子集化,效果很好,但理想情况下我可以制作某种交互式图表。

我真的需要某种方式从该数据中选择某些日期来绘制,这样它就不会全部堆积在自己身上,而是以交互方式进行以便可以呈现。 任何帮助将不胜感激,谢谢。

【问题讨论】:

标签: r shiny rstudio ggvis plotly


【解决方案1】:

听起来这并不能完全满足您的用例,但是为您的绘图添加一些交互性的一种极低开销的方法是 install.packages('plotly') 并将以下行添加到您的代码中:

# your original code
g <- ggplot(
 twitterdata, 
  aes(x=score1, y=score2, size=number, label=""),
  guide=FALSE)+
  geom_point(colour="black", fill="red", shape=21) + 
  scale_size_area(max_size = 30) + 
  scale_x_continuous(name="score1", limits=c(0,10)) + 
  scale_y_continuous(name="score2", limits=c(-10,10)) + 
  geom_text(size=4) + 
  theme_bw()

# add this line
gg <- ggplotly(g)

详情和演示:https://plot.ly/ggplot2/

正如 Eric 建议的那样,如果你想要滑块等,你应该检查一下闪亮的。这是一个将闪亮与情节结合的演示:https://plot.ly/r/shiny-tutorial/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    相关资源
    最近更新 更多