1x3 レイアウトで 3 つのグラフをプロットしたいと考えています。縦軸ラベルが必要なのは最初のグラフだけですが、3 つのプロット エリアすべてをまったく同じサイズにしたいと考えています。グラフのどれも、またはすべてが軸ラベルを持っていない場合、これは問題になりません。しかし、1 つのグラフには軸ラベルがあり、他の 2 つのグラフには軸ラベルがない場合、3 つのグラフすべてを同じサイズにするにはどうすればよいでしょうか? それが私が最もよく知っていることなので、ベースグラフィックスでこれをやろうとしていますが、問題を解決するためのより良い方法を提供する場合は、グリッドまたは ggplot2 を喜んで使用します。
ここにいくつかの偽のデータ、私のプロット コード、およびプロット自体があります。
# Fake Data
data = structure(list(y1 = 1:5, y2 = c(1.2, 2.4, 3.6, 4.8, 6), y3 = c(1.44,
2.88, 4.32, 5.76, 7.2)), .Names = c("y1", "y2", "y3"),
row.names = c("I needed 12 units for financial aid",
"I couldn't find any other open classes",
"I might be adding a major or minor",
"The class seemed interesting", "The class fit into my schedule"
), class = "data.frame")
# Plotting code
par(mar=c(5,15,4,1))
par(mfrow=c(1,3))
barplot(data$y1,names.arg=row.names(data), horiz=TRUE,las=1, +
xlim=c(0,8), main="Group 1")
par(mar=c(5,1,4,1))
barplot(data$y2,names.arg=row.names(data), horiz=TRUE,las=1, +
axisnames=FALSE, xlim=c(0,8), main="Group 2")
barplot(data$y3,names.arg=row.names(data), horiz=TRUE,las=1, +
axisnames=FALSE, xlim=c(0,8), main="Group 3")
# Reset plot options back to defaults
par(mfrow=c(1,1)
par(mar=c(5,4,4,2)+0.1)
[更新:私の質問に最も直接的に答えた回答を選択しました。これはベース グラフィックスにありましたが、同じことをlattice
とで行う方法を示しているので、他のソリューションも参照することをお勧めしggplot2
ます。]