我在链接中看到了一个非常有趣的三元图模板,由 Nicholas Hamilton 制作:
代码如下:
#Orignal Data as per Question
library(ggplot2)
library(ggtern)
a <- c(0.1, 0.5,0.5, 0.6, 0.2, 0 , 0 , 0.004166667, 0.45)
b <- c(0.75,0.5,0 , 0.1, 0.2, 0.951612903,0.918103448, 0.7875 , 0.45)
c <- c(0.15,0 ,0.5, 0.3, 0.6, 0.048387097,0.081896552, 0.208333333, 0.10)
d <- c(500,2324.90,2551.44,1244.50, 551.22,-644.20,-377.17,-100, 2493.04)
df <- data.frame(a, b, c, d)
#For labelling each point.
df$id <- 1:nrow(df)
#Build Plot
ggtern(data=df,aes(x=c,y=a,z=b),aes(x,y,z)) +
stat_density2d(geom="polygon",
n=400,
aes(fill=..level..,
weight=d,
alpha=abs(..level..)),
binwidth=100) +
geom_density2d(aes(weight=d,color=..level..),
n=400,
binwidth=100) +
geom_point(aes(fill=d),color="black",size=5,shape=21) +
geom_text(aes(label=id),size=3) +
scale_fill_gradient(low="yellow",high="red") +
scale_color_gradient(low="yellow",high="red") +
theme_tern_rgbw() +
theme(legend.justification=c(0,1), legend.position=c(0,1)) +
guides(fill = guide_colorbar(order=1),
alpha= guide_legend(order=2),
color="none") +
labs( title= "Ternary Plot and Filled Contour",
fill = "Value, V",alpha="|V - 0|")
问题是随着这个包的更新,出现了一些错误:
Warning messages:
1: Ignoring unknown aesthetics: weight
2: Ignoring unknown aesthetics: weight
3: Removing Layer 1 ('StatDensity2d'), as it is not an approved stat (for ternary plots) under the present ggtern package.
4: Removing Layer 2 ('GeomDensity2d'), as it is not an approved geometry (for ternary plots) under the present ggtern package.
问题是geom_density2d
andstat_density2d
不再被geom_density_tern
and支持和取代stat_density_tern
。软件包的修改非常大,即使更换它,也会发生任何新的错误。包的语法发生了很大的变化。有人知道如何翻译此代码并使其适合新版本吗?
我感兴趣的输出是这样的:
我感兴趣的输出是这样的:
有人可以帮助我吗?
提前感谢您的每一次最终支持!