[英]barplot() in R: markers, size, labels
我正在尝试使用barplot()
在 R 中绘制一个图。 但我遇到了一些问题。 首先,我附上绘图的图像和用于绘制此图的代码。 然后我在描述问题。
图片:
这是我用来生成这个图的代码片段。
par(mar=c(14, 7, 2, 2), mgp=c(5,2,0))
midpts<-barplot(x[,input$year],
main=input$year,
ylab="Number of Units",
xlab="Product",col='maroon')
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)
grid.text(rownames(x),
x = unit(midpts, "native"), y=unit(-1, "lines"),
just="right", rot=90)
popViewport(3)
问题:
1)整个情节总体上看起来也很小,我希望它更大。
2) Y 轴上的某些标记不可见。 缺少的标记取决于“年份”下拉列表。 有些年份,所有的 Y 轴标记都会出现,而对于其他一些年份,会像这个一样缺少一对。
3)有人还可以告诉我如何使我的 X 标签(“产品”)和 Y 标签(“单位数”)粗体和清晰,以便它们可以与标记区分开来?
注意:此图是 R-Shiny 仪表板的一部分,但我认为这与进行更改无关。
1) 尺寸
您有一个固定区域来可视化绘图,因此很难看出如何将其放大。
解决此问题的一种选择是减小文本标签和边距的大小,因此条形会有更多区域。
2) Y 轴标记
这是因为 2 个原因:1 - 您显示它们与 y 轴平行对齐,因此它们占用大量空间,以及 2 - 字体很大,因此它们重叠。 在这种情况下,最好不要显示某些标签,而不是让它们重叠。
要解决此问题,您可以考虑将标签旋转 90 度。
3) 粗体标签
您可以通过控制这些选项的单独函数title()
向绘图添加标签。
4) 额外
我建议放弃你正在做的“viewPort”,因为这是特定于网格图形的。
总的来说,这是一个带有代码的版本,可以解决您的大部分问题。 您没有提供您使用的数据集,所以我使用了“USArrests”。
par(mar=c(7, 7, 2, 2), mgp=c(5,2,0))
mids <- barplot(USArrests$Assault, col='maroon', las=2, cex.names=0.7, cex.axis=0.7)
mtext(rownames(USArrests), 1, at=mids, las=2, cex=0.7)
title("Assault")
title(xlab="states", font.lab=2)
title(ylab="Number of Units", font.lab=2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.