3

R を使用して収集したパフォーマンス データの折れ線グラフを作成しようとしています。各 CPU と合計をグラフにしたいと考えています。txt ファイルに Names 列があり、要因であるため、それを色に設定しようとしました。ただし、このエラーが発生します。これError in prettyDate(x = x, n = n, min.n = min.n, sep = sep, ...) : range too small for min.n が私のコードです。

library(ggplot2)
setwd("../../../PerfLogs")
cpu<-read.delim("CPUUsage.txt", header=FALSE, sep="\t")
names(cpu)<-c("Date", "Name", "Usage")
dates<-as.character(cpu$Date)
dates<-strptime(cpu$Date, "%m/%d/%Y %I:%M:%S %p")
cpu$Date<-dates
graph<-ggplot(cpu, aes(cpu$Date, cpu$Usage, colour=cpu$Name)) + geom_line(size=1.0)
graph

CPUUsage.txt のサンプル データを次に示します。

2/13/2013 1:37:17 PM    0   0
2/13/2013 1:37:17 PM    1   18
2/13/2013 1:37:17 PM    2   6
2/13/2013 1:37:17 PM    3   18
2/13/2013 1:37:17 PM    4   6
2/13/2013 1:37:17 PM    5   18
2/13/2013 1:37:17 PM    6   6
2/13/2013 1:37:17 PM    7   6
2/13/2013 1:37:17 PM    _Total  10
2/13/2013 1:37:18 PM    0   16
2/13/2013 1:37:18 PM    1   5
2/13/2013 1:37:18 PM    2   28
2/13/2013 1:37:18 PM    3   0
2/13/2013 1:37:18 PM    4   22
2/13/2013 1:37:18 PM    5   5
2/13/2013 1:37:18 PM    6   5
2/13/2013 1:37:18 PM    7   16
2/13/2013 1:37:18 PM    _Total  12

中央の列は名前で、右側の列は使用法です。日付/時刻がまったく同じかどうかは問題にならない要因を使用していたので、私は望んでいました

4

1 に答える 1

4

エラー メッセージは、x 値がdatetime2 つの値の差がわずか 1 秒 (データを表示するには小さすぎる) であるためです。データを表示するには、を使用scale_x_datetime()して設定breaksする必要があり"1 sec"ます。

library(ggplot2)
library(scales)
ggplot(cpu, aes(Date, Usage, colour=Name)) + 
   geom_line(size=1) + 
   scale_x_datetime(breaks = date_breaks("1 sec"))

ここに画像の説明を入力

于 2013-02-13T19:10:18.527 に答える