Ubuntu上的语言环境问题-例如使用ggsave保存的空白页

问题描述 投票:0回答:1

在我在Ubuntu上的简单R脚本中,我仅连接到数据库并绘制简单图。出人意料的是,该图被保存为空白。如果我不打电话给dbConnect,它将正确保存。

library(ggplot2)
print(Sys.getlocale())
conn<-DBI::dbConnect(odbc::odbc(), server=####, uid=####, 
 driver="/usr/lib/x86_64-linux-gnu/odbc/psqlodbcw.so", pwd=####)
ggplot(data.frame(x=1:3, y=3:1), aes(x,y)) + geom_point()
print(Sys.getlocale())
ggsave("plot.pdf")

我怀疑是因为DBI在语言环境方面做得不好。这是输出:

[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=lt_LT.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=lt_LT.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=lt_LT.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=lt_LT.UTF-8;LC_IDENTIFICATION=C"
encoding name too long
[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=lt_LT.UTF-8;LC_TIME=lt_LT.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=lt_LT.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=lt_LT.UTF-8;LC_NAME=lt_LT.UTF-8;LC_ADDRESS=lt_LT.UTF-8;LC_TELEPHONE=lt_LT.UTF-8;LC_MEASUREMENT=lt_LT.UTF-8;LC_IDENTIFICATION=lt_LT.UTF-8"
Saving 7 x 7 in image

如何使DBI不修改语言环境?

r locale dbi
1个回答
0
投票

到目前为止,语言环境是R对我来说最令人沮丧的方面。我无法从R内部修复它。唯一起作用的是将shell变量设置为外部-在我的情况下,我只是将它们放在virtualenv activate脚本中。

export LANG="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER="en_US.UTF-8"
export LC_NAME="en_US.UTF-8"
export LC_ADDRESS="en_US.UTF-8"
export LC_TELEPHONE="en_US.UTF-8"
export LC_MEASUREMENT="en_US.UTF-8"
export LC_IDENTIFICATION="en_US.UTF-8"
© www.soinside.com 2019 - 2024. All rights reserved.