このページを参考に、
R
1# ===== データを作る ===== 2# 1列目がX変数,2列目以降に複数のY変数が重なるデータ 3x <- 2001:2010 4y1 <- c(100,120,110, 90, 80, 70, 50, 60, 50, 30) 5y2 <- c(60, 70, 80, 50, 70, 40, 30, 50, 20, 30) 6y3 <- c(60, 20, 30, 10, 20, 5, 10, 4, 6, 3) 7y4 <- c(50, 40, 50, 30, 40, 30, 10, 20, 10, 20) 8y5 <- c(10, 20, 40, 30, 20, 50, 70, 50, 60, 70) 9xyy <- data.frame(X=x, Y1=y1, Y2=y2, Y3=y3, Y4=y4, Y5=y5) 10write.csv(xyy, "stackedXYY.csv", row.names=FALSE) 11 12# データを読み込む 13XYY <- read.csv("stackedXYY.csv") 14 15# XとYを別のオブジェクトに分ける 16X <- XYY$X 17rownames(XYY) <- X 18YY <- XYY[,-1] 19 20 21# ===== barplot()を使った積み重ね棒グラフ ===== 22 23 24 25tYY <- as.matrix(t(YY)) 26barplot(tYY) # 白黒 27barplot(tYY, col=terrain.colors(nrow(tYY))) 28legend("topright", rev(colnames(YY)), col=palette[1:ncol(YY)], pch=15) 29 30 31barplot(tYY, col=terrain.colors(nrow(tYY)), space=0) # 棒間隔ゼロ 32barplot(tYY, col=terrain.colors(nrow(tYY)), space=0, border=F) # 輪郭線なし
と、そのまま、barplotバージョンのコードを使って出力したのですが、エラーが出ます。
barplot(tYY, col=terrain.colors(nrow(tYY)), space=0) # 棒間隔ゼロ
Error in plot.new() : figure margins too large
barplot(tYY, col=terrain.colors(nrow(tYY)), space=0, border=F) # 輪郭線なし
Error in plot.new() : figure margins too large
tYY <- as.matrix(t(YY))
barplot(tYY) # 白黒
Error in plot.new() : figure margins too large
barplot(tYY, col=terrain.colors(nrow(tYY)))
Error in plot.new() : figure margins too large
legend("topright", rev(colnames(YY)), col=palette[1:ncol(YY)], pch=15)
Error in strwidth(legend, units = "user", cex = cex, font = text.font) :
plot.new has not been called yet
figure margins too large
とのことです、そのまま書いたのに、なぜtoo largeになるんでしょうか、また、
数値や数値の個数は自由に変更して良いので、どのように変更すれば良いでしょうか?
色分け、積み上げ型横棒グラフを描きたいのです(とりあえず縦棒でもOK
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/14 19:37
2021/08/15 07:46