1. ホーム
  2. r

[解決済み] Rで複数列のバープロット

2022-02-19 22:57:40

質問

Rの初心者で、棒グラフを理解しようとしています。
私は、2つの列のデータを3番目の列でグループ化して表示する棒グラフをRで作成しようとしています。

データフレーム名 SprintTotalHours

データのある列。

OriginalEstimate,TimeSpent,Sprint
178,471.5,16.6.1
210,226,16.6.2
240,195,16.6.3

を表示するバープロットが欲しい。 OriginalEstimate の隣にある TimeSpent を各スプリントで使用します。 これを試しましたが、欲しいものが手に入りません。

colours = c("red","blue")

barplot(as.matrix(SprintTotalHours),main='Hours By Sprint',ylab='Hours', xlab='Sprint' ,beside = TRUE, col=colours)

abline(h=200)

ベースグラフィックを使いたいが、それができないのであれば、必要であればパッケージをインストールすることに反対はしない。

解決方法は?

cols <- c('red','blue');
ylim <- c(0,max(SprintTotalHours[c('OriginalEstimate','TimeSpent')])*1.8);
par(lwd=6);
barplot(
    t(SprintTotalHours[c('OriginalEstimate','TimeSpent')]),
    beside=T,
    ylim=ylim,
    border=cols,
    col='white',
    names.arg=SprintTotalHours$Sprint,
    xlab='Sprint',
    ylab='Hours',
    legend.text=c('Estimated','TimeSpent'),
    args.legend=list(text.col=cols,col=cols,border=cols,bty='n')
);
box();


データ

SprintTotalHours <- data.frame(OriginalEstimate=c(178L,210L,240L),TimeSpent=c(471.5,226,
195),Sprint=c('16.6.1','16.6.2','16.6.3'),stringsAsFactors=F);