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

Nik*_*kov 1 plot r ggplot2

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

> 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
Run Code Online (Sandbox Code Playgroud)

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

h <- ggplot(summary_data, aes(no_of_threads, max))
h + geom_bar()
Run Code Online (Sandbox Code Playgroud)

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

h + geom_line()
Run Code Online (Sandbox Code Playgroud)

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

jor*_*ran 5

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

summary_data$no_of_threads <- as.numeric(as.character(summary_data$no_of_threads))
Run Code Online (Sandbox Code Playgroud)

编辑

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

ggplot(summary_data, aes(factor(no_of_threads), max)) + geom_bar()
Run Code Online (Sandbox Code Playgroud)