1

以下は、タイムラインの値が 0 ~ 300 の積み上げ棒グラフを提供するコードです。しかし、私はそれを1から24にしたいと思っています。

R コード:

library(ggplot2)
dataFrame <- data.frame(sr=c(1:72),
                      hours=c(1:24),
                      mode=factor(c(""),levels = c("SecureMessaging","WebLogs","IVR")),
                      status=factor(c("Inactive"),levels = c("Active","Inactive")))
dataFrame$mode[1:24] <- "SecureMessaging"
dataFrame$mode[25:48] <- "WebLogs"
dataFrame$mode[49:72] <- "IVR"
dataFrame$status[2] <- "Active"
dataFrame$status[7] <- "Active"
dataFrame$status[24] <- "Active"
dataFrame$status[2+24] <- "Active"
dataFrame$status[12+24] <- "Active"
dataFrame$status[15+24] <- "Active"
dataFrame$status[3+48] <- "Active"
dataFrame$status[5+48] <- "Active"
dataFrame <- na.omit(dataFrame)
plot <- ggplot(data=dataFrame, aes(x=mode, y=hours, fill=status)) + geom_bar(stat="identity")
plot <- plot+coord_flip()
plot <- plot+ggtitle("Data Analytics")
plot <- plot+xlab("Mode")
plot <- plot+ylab("Time Line")
print(plot)

ここに画像の説明を入力

4

3 に答える 3

1

を使用した代替実装を提案しているため、技術的には直接的な答えではありませんgeom_tile

gg <- ggplot(data=dataFrame, aes(y=mode, x=factor(hours)))
gg <- gg + geom_tile(aes(fill=status))
gg <- gg + coord_equal()
gg <- gg + labs(x="Mode", y="Time Line", title="Data Analytics")
gg <- gg + theme_bw()
gg <- gg + theme(panel.grid=element_blank())
gg <- gg + theme(panel.border=element_blank())
gg <- gg + theme(legend.position="bottom")
gg

ここに画像の説明を入力

于 2014-10-15T10:58:20.543 に答える
0

適切な x 軸を持つ棒グラフ:

ggplot(dataFrame, aes(x=hours,y=status, fill=status))+ geom_bar(stat='identity')+ facet_grid(mode~.)

ここに画像の説明を入力

于 2014-10-15T13:52:39.367 に答える
0

結果を 24 (範囲 0,300) でカットしたい場合は、次の行を print(plot) の前に追加します。ただし、「非アクティブ」バーは 24 より前に停止するため、結果はまだ完全ではありません。

plot <- plot+ylim(0,24)

ただし、あなたがこれを望んでいたかどうかはわかりません。おそらく、r が適用する 0 ~ 300 のスケーリングに満足できず、0 ~ 24 にしたいでしょう。その場合は、以下をお試しください。ここに示すように、プロット関数の「時間」を「1」に置き換える必要があります。

plot <- ggplot(data=dataFrame, aes(x=mode, 1, fill=status)) + geom_bar(stat="identity")

2 番目のオプションの図

于 2014-10-15T11:09:01.697 に答える