【发布时间】:2019-03-24 05:46:51
【问题描述】:
我一直在尝试减小 x 轴上标签的大小,以便显示所有值,但不知道为什么它不起作用。此外,我尝试使用mtext 为所有三个图表仅放置一个 x 轴标签,但它也不起作用。有人可以帮忙吗?
这里是名为benefitlossr的数据
Region ChangeNPV ChangeNPVadjusted ChangeHC Scenario
Carabooda 13.47257941 7.430879051 0.1 S1-2
Carabooda 13.47151427 7.530120412 0.055 S2-3
Carabooda 14.83684617 8.940968276 0.056 S3-4
Carabooda 15.37691395 9.617533157 0.056 S4-5
Neerabup 3.499426472 2.232675752 0.01 S1-2
Neerabup 3.499596203 2.23966378 0.01 S2-3
Neerabup 3.836086106 2.566649186 0.01 S3-4
Neerabup 3.995114558 2.725839325 0.02 S4-5
Nowergup 3.513500149 1.700543633 0.02 S1-2
Nowergup 3.513585809 1.710386802 0.01 S2-3
Nowergup 3.850266108 2.034689127 0.02 S3-4
Nowergup 4.009112768 2.194350586 0.02 S4-5
这是我的代码
Caraboodaloss <- subset(Benefitlossr, Region=="Carabooda")
Neerabuploss <- subset(Benefitlossr, Region=="Neerabup")
Nowerguploss <- subset(Benefitlossr, Region=="Nowergup")
Caraboodaloss
tiff("barplot.tiff", width=130, height=50, units='mm', res=300)
par(mfrow=c(1,3))
par(mar=c(5, 4, 4, 0.2))
mxCarabooda <- t(as.matrix(Caraboodaloss[,2:3]))
Caraboodaloss$Label <- paste(Caraboodaloss$Scenario, Caraboodaloss$ChangeHC)
colnames(mxCarabooda) <- Caraboodaloss$Label
colours=c("gray63","gray87")
barplot(mxCarabooda, main='Carabooda', ylab='Profit loss ($m)',
xlab='Change in water table at each level of GW cut', beside=TRUE,
col=colours, ylim=c(0,30),cex.lab=0.7, cex.sub=0.7, cex.axis=0.7)
legend('topright', bty="n", legend=c('Loss in GM','Loss in adjusted GM'),
col=c("gray63","gray87"), cex=0.6, pch=15)
mxNeerabup <- t(as.matrix(Neerabuploss[,2:3]))
Neerabuploss$Label <- paste(Neerabuploss$Scenario, Caraboodaloss$ChangeHC)
colnames(mxNeerabup) <- Neerabuploss$Label
colours=c("gray63","gray87")
barplot(mxNeerabup,main='Neerabup', ylab='',
xlab='Change in water table at each level of GW cut', beside=TRUE,
col=colours, ylim=c(0,30), cex.lab=0.7, cex.sub=0.7, cex.axis=0.7)
legend('topright', bty="n", legend=c('Loss in GM','Loss in adjusted GM'),
col=c("gray63","gray87"), cex=0.6, pch=15)
mxNowergup <- t(as.matrix(Nowerguploss[,2:3]))
Nowerguploss$Label <- paste(Nowerguploss$Scenario,Nowerguploss$ChangeHC)
colnames(mxNowergup) <- Nowerguploss$Label
colours=c("gray63","gray87")
barplot(mxNowergup,main='Nowergup', ylab='',
xlab='Change in water table at each level of GW cut',beside=TRUE,
col=colours, ylim=c(0,30), cex.lab=0.7, cex.sub=0.7, cex.axis=0.7)
legend('topright', bty="n", legend=c('Loss in GM','Loss in adjusted GM'),
col=c("gray63","gray87"), cex=0.6, pch=15)
dev.off()
这是我得到的结果
即使 y 轴标签尺寸减小,x 轴标签也太大。因此,并非所有值都可以显示在轴中。如果可能的话,我希望在图表中清楚地看到 x 轴的所有标签。我无法更改宽度和高度的大小,因为它是必需的。
【问题讨论】:
-
请不要发布数据图像:它不能被复制或搜索 (SEO),它会破坏屏幕阅读器,并且它可能不适合某些移动设备。参考:meta.stackoverflow.com/a/285557/3358272(和xkcd.com/2116)。另一个建议:显着减少你的代码。如果您解决了三个条形图之一的问题,那么您将能够将其应用于所有其他人,所以请不要给我们不必要的代码。 (通常,如果它需要滚动,它可能太多了。并非总是如此,当然。但看到这么多代码确实会阻止许多人进一步阅读。)
-
您好,感谢您的评论。因为我还想展示给定导出需求约束的问题。如果可能的话,所有三个图表的一个通用 x-lab。对于数据,我会修复。谢谢