R plot:如何正确调整挑剔的边距?
R plot: how can I adjust finicky margins properly?
我的 R 线图中的边距有问题...我知道网站上有很多与此相关的问题,但 none 似乎一语中的,所以我我想我会专门问一下,包括详细信息...如果过分,我也很抱歉 descriptive/wordy!
我正在用多条线 (4) 和自定义刻度线(character/descriptive 信息)在时间点而不是 0:3 绘制 R 线图。除了边距,一切都很棒。
因此,首先将刻度标签从屏幕上切掉。但是,轴对齐、图例显示和所有数据点显示等。在其他方面看起来都是正确的。
这里我设置了mar = c(5, 4.1, 4.1, 4.0)
我尝试更改以便使用以下方式显示标签:
mar = c(5, 4.1, 4.1, 4.0) + x)
,对 x 使用多个值(0.5、1.0、2.5 等)。
这会改变坐标轴,使它们不对齐,图形被截断等,标签再次离开屏幕。
接下来我尝试使用以下方法更改 dev.new(...)
选项:
dev.new(width=4, height=3, unit="in")
以及 w
和 h
的其他值。仍然没有解决方案...对齐全部关闭,x 轴缺失,轴标签和刻度标签关闭等。
非常感谢任何帮助。我知道对于这样的例子来说,它可能是一个挑剔的情节,但在这个例子中我更喜欢 R plot 而不是 ggplot。
提前谢谢你...
这是可比较的 R 代码:
bird <- c ("2", "4", "3.5", "8")
dog <- c ("8", "6", "10", "4")
fish <- c("10", "8", "5", "1")
cat <- c("12", "6", "3", "1")
time = c("0", "1", "2", "3")
dev.new()
plot(time, bird, type="o", col="darkblue", xlab="time points", ylab="average scores of pets", main = "average pet scores over time", ylim=c(0, 15), cex.main=1.2, axes=FALSE)
par(las=2, mar = c(5, 4.1, 4.1, 4.0))
axis(1, at=0:3, labels= c("pre-lim", "first appointment", "3 month check-up", "12 month check-up"))
axis(2)
lines(time, dog, type="o", col="forestgreen")
lines(time, fish, type="o", col="cornflowerblue")
lines(time, cat, type="o", col="darkturquoise")
legend (2.25, 14.3, legend = c("bird", "dog", "fish", "cat"), fill= c("darkblue", "forestgreen", "cornflowerblue", "darkturquoise"))
我认为 dev.new()
和 par(mar = c(10, 5, 1, 1))
的组合产生了不错的情节。
dev.new()
par(las = 2, mar = c(10, 5, 1, 1))
我的 R 线图中的边距有问题...我知道网站上有很多与此相关的问题,但 none 似乎一语中的,所以我我想我会专门问一下,包括详细信息...如果过分,我也很抱歉 descriptive/wordy!
我正在用多条线 (4) 和自定义刻度线(character/descriptive 信息)在时间点而不是 0:3 绘制 R 线图。除了边距,一切都很棒。
因此,首先将刻度标签从屏幕上切掉。但是,轴对齐、图例显示和所有数据点显示等。在其他方面看起来都是正确的。
这里我设置了mar = c(5, 4.1, 4.1, 4.0)
我尝试更改以便使用以下方式显示标签:
mar = c(5, 4.1, 4.1, 4.0) + x)
,对 x 使用多个值(0.5、1.0、2.5 等)。
这会改变坐标轴,使它们不对齐,图形被截断等,标签再次离开屏幕。
接下来我尝试使用以下方法更改 dev.new(...)
选项:
dev.new(width=4, height=3, unit="in")
以及 w
和 h
的其他值。仍然没有解决方案...对齐全部关闭,x 轴缺失,轴标签和刻度标签关闭等。
非常感谢任何帮助。我知道对于这样的例子来说,它可能是一个挑剔的情节,但在这个例子中我更喜欢 R plot 而不是 ggplot。
提前谢谢你...
这是可比较的 R 代码:
bird <- c ("2", "4", "3.5", "8")
dog <- c ("8", "6", "10", "4")
fish <- c("10", "8", "5", "1")
cat <- c("12", "6", "3", "1")
time = c("0", "1", "2", "3")
dev.new()
plot(time, bird, type="o", col="darkblue", xlab="time points", ylab="average scores of pets", main = "average pet scores over time", ylim=c(0, 15), cex.main=1.2, axes=FALSE)
par(las=2, mar = c(5, 4.1, 4.1, 4.0))
axis(1, at=0:3, labels= c("pre-lim", "first appointment", "3 month check-up", "12 month check-up"))
axis(2)
lines(time, dog, type="o", col="forestgreen")
lines(time, fish, type="o", col="cornflowerblue")
lines(time, cat, type="o", col="darkturquoise")
legend (2.25, 14.3, legend = c("bird", "dog", "fish", "cat"), fill= c("darkblue", "forestgreen", "cornflowerblue", "darkturquoise"))
我认为 dev.new()
和 par(mar = c(10, 5, 1, 1))
的组合产生了不错的情节。
dev.new()
par(las = 2, mar = c(10, 5, 1, 1))