ggtern在运行新的ggplot 2时似乎有问题。我试过加载R、ggtern和ggplot 2的早期版本,但无法使它们工作。在最新版本中,我得到以下错误:
错误:geom_point需要以下缺失的美学:x和y
rlang::last_error()
<error/rlang_error>
geom_point requires the following missing aesthetics: x and y
Backtrace:
(function (x, ...) ...
ggtern:::print.ggplot(x)
ggtern:::ggplot_build.ggplot(x)
ggtern:::by_layer(function(l, d) l$compute_geom_1(d))
ggtern:::f(l = layers[[i]], d = data[[i]])
l$compute_geom_1(d)
ggplot2:::f(..., self = self)
ggplot2:::check_required_aesthetics(...)
rlang::last_trace()
<error/rlang_error>
geom_point requires the following missing aesthetics: x and y
Backtrace:
x
+-(function (x, ...) ...
-ggtern:::print.ggplot(x)
+-ggtern::ggplot_build(x)
-ggtern:::ggplot_build.ggplot(x)
\-ggtern:::by_layer(function(l, d) l$compute_geom_1(d))
\-ggtern:::f(l = layers[[i]], d = data[[i]])
\-l$compute_geom_1(d)
\-ggplot2:::f(..., self = self)
\-ggplot2:::check_required_aesthetics(...)
我也尝试在ggplot 2之前加载ggtern,并加载每个包的早期版本以及R和RStudio。
救命啊!!!
3条答案
按热度按时间fykwrbwg1#
ggtern与ggplot2的最新版本不兼容。您应该使用版本3.2.1(或者版本3.3.0)
如果你需要其他 Package 的整齐的诗句,你将不得不单独加载它们。
mw3dktmi2#
我发现让ggtern再次工作的版本组合是:
R 4.0.2 ggplot2:3.3.2 ggtern:3.3.0 -忽略警告...
尊敬骑士16
iugsix8n3#
尝试安装一个版本的R > 4.0,重新启动计算机,然后重新运行脚本。ggtern在我去年使用R 3.6版本时就不起作用了。新安装和重新启动后,它工作正常。如果这不是问题所在,那么您的代码有问题。参见以下示例。
安装加载ggtern
从http://www.ggtern.com/d/2.2.2/ggtern.html重新创建此简单图。如果您没有得到数据点位于中心的三元图的输出,则存在上述版本问题。
ternary plot example
**创建用于绘图的示例数据集。**注意,x + y + z之和通常> 1,表明使用ggtern plot函数时,输入数据将自动归一化。
**plot数据并在ggtern调用中定义aes。**这类似于ggplot的理想语法:https://community.rstudio.com/t/error-geom-point-requires-the-following-missing-aesthetics-x-y/26224。
ternary plot example 2
如果您想将数据从笛卡尔空间转换为三进制空间,或者从三进制空间转换为笛卡尔空间,您也可以在此链接的“tternary_transformation”标题下找到指导:http://www.ggtern.com/docs/。