R - ggtern + geom_interpolate_tern,为什么绘图在对称线(三角形高度)处不平滑?
R - ggtern + geom_interpolate_tern, why is the plot not smooth at the symmetry line (triangle height)?
ggtern 输出
我正在尝试绘制以下数据
> foo
Resp A B C
1 1.629 0.3333333 0.3333333 0.3333333
2 1.734 0.1666667 0.6666667 0.1666667
3 1.957 0.0000000 1.0000000 0.0000000
4 1.778 1.0000000 0.0000000 0.0000000
5 1.682 0.6666667 0.1666667 0.1666667
6 1.407 0.1666667 0.1666667 0.6666667
7 1.589 0.0000000 0.5000000 0.5000000
8 1.251 0.0000000 0.0000000 1.0000000
9 1.774 0.5000000 0.5000000 0.0000000
10 1.940 0.5000000 0.0000000 0.5000000
>
正在使用
ggtern() +
geom_interpolate_tern(
data = foo,
mapping = aes(y = A,x = B,z = C,value=Resp),method='auto',base = "identity",n=200)
缺少平滑的插值是我似乎无法摆脱调整函数参数的问题。我实际上有这个单纯形的多个响应数组,它们都在输出中呈现非平滑性。
我是否遗漏了有关使用 ggerg
和 geom_interpolate_tern
进行插值的内容?
这是因为 R 在 Windows 上没有原生抗锯齿功能。
foo <- structure(list(Resp = c(1.629, 1.734, 1.957, 1.778, 1.682, 1.407,
1.589, 1.251, 1.774, 1.94), A = c(0.3333333, 0.1666667, 0, 1,
0.6666667, 0.1666667, 0, 0, 0.5, 0.5), B = c(0.3333333, 0.6666667,
1, 0, 0.1666667, 0.1666667, 0.5, 0, 0.5, 0), C = c(0.3333333,
0.1666667, 0, 0, 0.1666667, 0.6666667, 0.5, 1, 0, 0.5)), .Names = c("Resp",
"A", "B", "C"), class = "data.frame", row.names = c("1", "2",
"3", "4", "5", "6", "7", "8", "9", "10"))
您可以通过使用不同的图形设备进行渲染来解决此问题。
require(Cairo)
require(ggplot2)
require(ggtern)
g1 <- ggtern() +
geom_interpolate_tern(
data = foo,
mapping = aes(y = A,x = B,z = C,value=Resp),method='auto',base = "identity",n=200)
ggsave("Tern.png", width=12, height=8, dpi = 300, type = "cairo-png")
或作为 SVG
# note that you don't need Cairo to render the .svg
ggsave("Tern.svg", width=12, height=8, dpi = 300)
ggtern 输出
我正在尝试绘制以下数据
> foo
Resp A B C
1 1.629 0.3333333 0.3333333 0.3333333
2 1.734 0.1666667 0.6666667 0.1666667
3 1.957 0.0000000 1.0000000 0.0000000
4 1.778 1.0000000 0.0000000 0.0000000
5 1.682 0.6666667 0.1666667 0.1666667
6 1.407 0.1666667 0.1666667 0.6666667
7 1.589 0.0000000 0.5000000 0.5000000
8 1.251 0.0000000 0.0000000 1.0000000
9 1.774 0.5000000 0.5000000 0.0000000
10 1.940 0.5000000 0.0000000 0.5000000
>
正在使用
ggtern() +
geom_interpolate_tern(
data = foo,
mapping = aes(y = A,x = B,z = C,value=Resp),method='auto',base = "identity",n=200)
缺少平滑的插值是我似乎无法摆脱调整函数参数的问题。我实际上有这个单纯形的多个响应数组,它们都在输出中呈现非平滑性。
我是否遗漏了有关使用 ggerg
和 geom_interpolate_tern
进行插值的内容?
这是因为 R 在 Windows 上没有原生抗锯齿功能。
foo <- structure(list(Resp = c(1.629, 1.734, 1.957, 1.778, 1.682, 1.407,
1.589, 1.251, 1.774, 1.94), A = c(0.3333333, 0.1666667, 0, 1,
0.6666667, 0.1666667, 0, 0, 0.5, 0.5), B = c(0.3333333, 0.6666667,
1, 0, 0.1666667, 0.1666667, 0.5, 0, 0.5, 0), C = c(0.3333333,
0.1666667, 0, 0, 0.1666667, 0.6666667, 0.5, 1, 0, 0.5)), .Names = c("Resp",
"A", "B", "C"), class = "data.frame", row.names = c("1", "2",
"3", "4", "5", "6", "7", "8", "9", "10"))
您可以通过使用不同的图形设备进行渲染来解决此问题。
require(Cairo)
require(ggplot2)
require(ggtern)
g1 <- ggtern() +
geom_interpolate_tern(
data = foo,
mapping = aes(y = A,x = B,z = C,value=Resp),method='auto',base = "identity",n=200)
ggsave("Tern.png", width=12, height=8, dpi = 300, type = "cairo-png")
或作为 SVG
# note that you don't need Cairo to render the .svg
ggsave("Tern.svg", width=12, height=8, dpi = 300)