0

"2013-07-01 00:30:00" の形式で x 軸のラベルを変更するにはどうすればよいですか?

library(ggplot2)

a<-as.POSIXlt("2013-07-01 00:30:00")
b<-as.POSIXlt("2013-07-5 00:30:00")
aI<-as.numeric(a)
bI<-as.numeric(b)

times<-sample(seq(aI,bI,by=2),100)
ggplot(, aes(x=times)) + 
geom_histogram(aes(y=..count..),binwidth=10000, colour="black") +
theme(axis.text.x = element_text(angle=45))

そして、次のような曲線を追加する関数を探しています

 geom_density(alpha=.2, fill="#FF6666")

しかし、上のプロットでは、曲線が ..count.. プロパティに適合するようになっています。

4

1 に答える 1

1

x の数値を に渡していますggplot。日時値を渡し、次を使用する必要がありますscale_x_datetime

times <- sample(seq(a, b, by = 2), 100)

library(scales)
ggplot(, aes(x = times)) + 
  geom_histogram(aes(y= ..count.. ), binwidth = 10000, colour = "black") +
  theme(axis.text.x = element_text(angle = 45)) +
  scale_x_datetime(labels = date_format("%Y-%m-%d %H:%M:%S"))

y 軸のスケールが適合しないため (密度にも からのカウントにも適合しないため)、プロットに密度を追加できませんstat_density。密度曲線の形状のみを気にする場合は、 を使用できますgeom_density(alpha = .2, fill = "#FF6666", aes(y = ..scaled.. * 7.5))

編集:

あなたのコメントによると、あなたはこれを望んでいるようです:

ggplot(, aes(x = times)) + 
  geom_histogram(aes(y= ..density..), binwidth = 10000, colour = "black") +
  theme(axis.text.x = element_text(angle = 45)) +
  scale_x_datetime(labels = date_format("%Y-%m-%d %H:%M:%S")) +
  geom_density(alpha = .2, fill = "#FF6666")

y = ..count..で明示的に指定したため、混乱しますgeom_histogram(ただし、デフォルトです)。

于 2013-08-14T09:19:54.890 に答える