【发布时间】:2018-06-11 13:22:04
【问题描述】:
我正在尝试在R 中ggplot2 包中的以下脚本中调整x 和ymax 以调整errorbar 的绘图坐标,但是它返回错误。
gplot <- function(prd) {
ggplot() +
geom_polygon(data=shp.t,aes(x=long,y=lat,group=group),
fill="white",colour="grey") +
## Plot errorbar
geom_errorbar(data=te10.cent,size=2,colour="red",
alpha=.8,width=0,
aes_(x=quote(long.cent)-350,ymin=quote(lat.cent),
ymax=quote(lat.cent)+prd))
}
gplot("Field Name") # Not number but field name of the data frame
(抱歉,我无法上传我正在使用的实际数据框。)
这些是我面临的错误:
Error in quote(lat.cent) + prd * .pt : non-numeric argument to binary Operator Error in quote(lat.cent)+prd * .pt : non-numeric argument to binary Operator
如果从脚本中省略 -350 和 +prd 或在数据框中使用带有实际变量的“aes”,则它在这两种情况下都有效。
我尝试了其他脚本; "long.cent"-350 和 "lat.cent"+prd 而不是上面的脚本,但是它也会返回相同的错误。
我搜索了解决方案,但所有解决方案都解释了如何在不混合参数和算术计算的情况下使用 aes_。我需要将非标准表达式与算术计算混合来调整我的情节,但是如何?
【问题讨论】:
-
您是否尝试过使用
scale_x_continuous/scale_y_continuous或coord_cartesian?看到这个帖子stackoverflow.com/questions/3606697/… -
你能创建一个可重现的例子吗?在诸如汽车或虹膜之类的数据集中构建之一?
-
感谢您的两个建议,感谢@missuse 的解决方案。
标签: r ggplot2 nse aesthetics