首页 文章

使用小数据集在ggplot中绘制折线图

提问于
浏览
1

我计算了具有预定义同时连接数的服务器的最大响应时间的以下数据帧:

> print(summary_data)    
    max     no_of_threads
    1.1801799   10
    1.0883594   20
    0.9556356   30
    0.9130625   40
    3.2130118   50
    1.1573432   60

当我使用geom_bars()使用ggplot绘制这个数据帧时,我会得到一个带有条形图的图:

h <- ggplot(summary_data, aes(no_of_threads, max))
h + geom_bar()

但是,当我使用geom_line()在此图形上创建一条线时,ggplot会生成一个没有线条的空图:

h + geom_line()

如何使用ggplot将我的小数据集绘制为折线图?

1 回答

  • 5

    我能够重现你的问题的唯一方法是 no_of_threads 是一个因素,而不是数字或整数变量 . 尝试将其转换为数字:

    summary_data$no_of_threads <- as.numeric(as.character(summary_data$no_of_threads))
    

    编辑

    我想我对这个问题的原因是正确的,来回切换并不是一件麻烦事 . 将变量保持为数字,当您想使用 geom_bar 时,只需在那里进行强制:

    ggplot(summary_data, aes(factor(no_of_threads), max)) + geom_bar()
    

相关问题