我是R新手。
我已经能够将无标题的数据放入列中
my_data<- separate(my_data,col = "V1",into = c("Date", "Tool","Dept","Port","Host","Min","Max"),sep = ":")
它看起来像这样:
Date Tool Dept Port Host Min Max
1: 03-Mar-2019 toolset Headquaters 1234 host.com 1 7
2: 10-Mar-2019 toolset Headquaters 1234 host.com 0 7
3: 17-Mar-2019 toolset Headquaters 1234 host.com 1 7
我将其绘制:
> p1 <- ggplot() + geom_line(aes(y = Max, x = Date),data = My_data)
> p1
但是我得到的只是这个:
如何绘制时间上的最小值/最大值?
EDIT1: 这些是日期,而不是因素或其他内容
EDIT2: 我尝试了这个建议:
my_data$Date <- as.Date(lmt$Date, "%d-%b-%Y")
答案 0 :(得分:1)
目前,您的日期时间结构可能存在问题。
您可以运行bin/mallet train-classifier --input training.in --cross-validation 10
来查看日期的格式。日期格式很多,但是POSIXct是最好的imo。如果日期是一个因素或其他因素,请通过str(my_data)
转换后,您可以使用as.character()
转换日期时间。正确格式化日期后,您可以运行ggplot:
strptime(my_data$Date, %d-%b-%Y)
我在下面的教程中提供了完整的详细信息,以在需要时为您提供帮助。日期可能有点棘手,尤其是当您必须在p1 <- ggplot(my_data, aes(x = Date, y = Max)) + geom_line()
ex(%M或%d)中指定format参数时。网站上有一张列出所有可能格式的图表。
答案 1 :(得分:1)
这是您的基本情节:
My_data<-read.table(header=TRUE,, text="Date Tool Dept Port Host Min Max
03-Mar-2019 toolset Headquaters 1234 host.com 1 7
10-Mar-2019 toolset Headquaters 1234 host.com 0 7
17-Mar-2019 toolset Headquaters 1234 host.com 1 7")
My_data$Date <- as.Date(My_data$Date, "%d-%b-%Y")
library(ggplot2)
p1 <- ggplot(data=My_data, aes(x=Date)) +
geom_line(aes(y = Max), col="blue") +
geom_line(aes(y = Min), col="green")
print(p1)