首页 > 解决方案 > 如何在 R 中可视化这些数据澄清并识别模式?

问题描述

这是我的数据框:

数据框

输出输入(数据帧):

structure(list(ChargePoint_skey = c(2174, 2174, 2174, 2239, 2239, 
2266, 2266, 2266, 2266, 2266), MonthYear = structure(c(17532, 
17563, 17591, 17956, 17987, 17532, 17563, 17591, 17622, 17652
), class = "Date"), aantalsessies = c(16L, 15L, 14L, 8L, 8L, 
61L, 29L, 33L, 13L, 14L)), .Names = c("ChargePoint_skey", "MonthYear", 
"aantalsessies"), class = c("grouped_df", "tbl_df", "tbl", "data.frame"
), row.names = c(NA, -10L), groups = structure(list(ChargePoint_skey = 
c(2174, 
2239, 2266), .rows = list(1:3, 4:5, 6:10)), .Names = c("ChargePoint_skey", 
".rows"), row.names = c(NA, -3L), class = c("tbl_df", "tbl", 
"data.frame"), .drop = TRUE))

如您所见,“ChargePoint_skey”列中有很多组,因为有很多不同的 ChargePoint。我想可视化这些数据以识别所有 ChargePoints 的模式。有人对某种可视化有建议吗?我在想一个像这样的堆积条形图:

堆积条形图

但这对我来说不是一个选择,因为我的数据中有许多不同的 ChargePoint。

我希望有人可以帮助我!

标签: rggplot2data-visualization

解决方案


很难作为评论发布,所以我发布了答案。

3D 图(表面/散点图等)对于可视化数据非常有用。这是我以前的一个项目中的一个曲面图示例,我用它来检查三个变量之间的关系以及问题变得不可行的地方(图中的空白)。这是一个全因子 DOE 的示例。

在此处输入图像描述

现在回到你的问题 - 我更喜欢使用plotly你可以玩的交互式输出。这(imo)比只能通过代码(旋转/平移/缩放等)操作的静态工具要好。

代码

library(plotly) 
# dat is the data.frame from your dput output 

plt <- plot_ly(dat, x = ~MonthYear, y = ~ChargePoint_skey, y = ~aantalsessies) %>% 
  add_markers()

输出

在此处输入图像描述

由于这是数据集的一个小样本,因此该图相当稀疏。使用更大的数据集,您可能会获得更好的见解。

您可以参考https://plotly.com/r/3d-scatter-plots/了解更多信息。绘图本身可以保存为 html 文件(可以在浏览器中打开)用于共享 - 使用htmlwdigets包。

htmlwidgets::saveWidget(widget = as_widget(plt), file = 'myfile.html', selfcontained = T, title = 'my tab title')

希望这有帮助!


推荐阅读