我正在使用R中的ggtern制作三元图,希望在ggtern图中与原始数据相同地具有坐标轴标签和刻度。对于以下代码中生成的数据,每个轴的最大值为12、10和4。
继上一篇文章后,我尝试使用breaks和labels来实现此目的,但仍然存在问题:每个轴仍位于0-1比例尺上,由于它们超过了1,因此缺少标签,并且带有标签的轴线不与图中的点相交。(如何更改由ggtern制作的三元图的标签?)
继上一篇文章后,我尝试使用breaks和labels来实现此目的,但仍然存在问题:每个轴仍位于0-1比例尺上,由于它们超过了1,因此缺少标签,并且带有标签的轴线不与图中的点相交。(如何更改由ggtern制作的三元图的标签?)
library(ggtern)
labFnc <- function(x,digits=2) format(round(unique(x),digits),digits=digits)
mydata <- data.frame(
x = runif(50, min = 0.25, max = 12),
y = runif(50, min = 0.1, max = 10),
z = runif(50, min = 0.5, max = 4),
value = runif(50, min = 10000, max = 20000))
ggtern(data = mydata,aes(x = x, y = y, z = z,col=value)) +
theme_bw() +
geom_point(alpha = 0.8, size = 3) +
theme_showarrows() +
scale_T_continuous(breaks=unique(mydata$x),labels=labFnc(mydata$x))+
scale_L_continuous(breaks=unique(mydata$y),labels=labFnc(mydata$y))+
scale_R_continuous(breaks=unique(mydata$z),labels=labFnc(mydata$z))
有没有办法做到这一点?非常感谢您的帮助。
编辑:我还尝试了添加tern_limits参数。虽然看起来可以按比例扩展图形,但数据位置不正确。而且我不能像之前那样添加自己独特的间断点。
ggtern(data = mydata,aes(x = x, y = y, z = z,col=value)) +
theme_bw() +
geom_point(alpha = 0.8, size = 3) +
theme_showarrows() +
tern_limits(T=12, L=10, R=4)