【问题标题】:Plotting graph from Text file using R使用 R 从文本文件中绘制图形
【发布时间】:2020-11-30 12:33:26
【问题描述】:

我正在使用一个名为 NDNsim 的基于 NS3 的模拟器。我可以生成某些可用于分析性能等的跟踪文件。但是我需要将生成的数据可视化。

我是 R 的新手,想要一种可视化的方式。这是我要从中绘制的output looks。任何帮助表示赞赏。

【问题讨论】:

  • 你想要什么类型的情节?有了这些数据,可以产生很多......
  • @RuiBarradas 简单的线图,例如 Time v/s InData(与其他人一起)。我正在使用一个脚本,但想要一种为指标制作单独图表的方法。我正在使用的当前脚本:github.com/cawka/ndnSIM-tutorial/blob/master/graphs/graph.R

标签: r data-visualization ns-3 ndnsim


【解决方案1】:

很难知道您在寻找什么,因为您对 9 个变量进行了近 50,000 次测量。这是在屏幕上获取大量信息的一种方法:

df <- read.table(paste0("https://gist.githubusercontent.com/wuodland/",
                        "9b2c76650ea37459f869c59d5f5f76ea/raw/",
                        "6131919c105c95f8ba6967457663b9c37779756a/rate.txt"),
                 header = TRUE)

library(ggplot2)

ggplot(df, aes(x = Time, y = Kilobytes, color = Type)) + 
  geom_line() + 
  facet_wrap(~FaceDescr)

【讨论】:

  • 感谢您的回复,现在您使用 facet_wrap 让一些事情变得更有意义。我在其中使用节点而不是像您发布的那样使用 faceDescr。我认为这是一个很好的起点,可以让图表更适合我的使用。基本上,我想为不同的节点绘制 Kilobytes v/s Time 图(带有属性的线图)。但似乎使用 facedescr 更有意义,因为 facet_wrap 与 node.这就是我以前自己的方式:i.imgur.com/FM3pnKh.png 编辑:生成的图表似乎取决于显示器分辨率,在更高的分辨率下看起来更好
【解决方案2】:

您可以考虑从输入文件中创建子结构,然后按节点绘制它,而不是试图以正确的方式调用绘图仪。

df <- read.table(paste0("https://gist.githubusercontent.com/wuodland/",
                        "9b2c76650ea37459f869c59d5f5f76ea/raw/",
                        "6131919c105c95f8ba6967457663b9c37779756a/rate.txt"),
                 header = TRUE)

smaller_df <- df[which(df$Type=='InData'), names(df) %in% c("Time", "Node", 
                 "FaceId", "FaceDescr", "Type", "Packets", "Kilobytes",
                 "PacketRaw", "KilobyteRaw")]

ggplot(smaller_df, aes(x = Time, y = Kilobytes, color = Type)) 
       + geom_line() 
       + facet_wrap (~ Node)

上面的 sn-p 仅使用“InData”类型从原始文本数据中创建一个较小的数据框,然后按节点绘制。

【讨论】:

    猜你喜欢
    • 2023-03-02
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    相关资源
    最近更新 更多