r - 如何在 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。
我希望有人可以帮助我!
解决方案
很难作为评论发布,所以我发布了答案。
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')
希望这有帮助!
推荐阅读
- git - 如何从某个提交开始 git push 到远程 GitHub?
- vba - DoCmd.OutputTo acOutputReport, "", acFormatPdf, ""& ".pdf", False 崩溃并仅为一个用户创建 .tmp 文件
- flutter - 使用相机时颤振在状态栏中显示点
- sql - 将自定义值添加到 SELECT
- javascript - Javascrypt 数字计数器
- c# - MySQL 按日期过滤
- java - 如何处理ResolutionException?
- linux - 未找到 在此服务器上未找到请求的 URL
- ssh - Databricks:使用 SSH 连接连接到 Redshift 集群
- django - request.session['pk'] = user.pk AttributeError: 'QuerySet' 对象没有属性 'pk'