0

这是一些示例代码。

library(ggtern)
# Based of random data.
DATA <- data.frame(A = runif(100), B = runif(100), C = runif(100))
plot <- ggtern(data = DATA, 
               mapping = aes(x = A, y = B, z = C)) + 
        geom_point() + ggtern::theme_bw(base_size = 30) + theme_arrowlarge()
plot

在此处输入图像描述

如何增加箭头和箭头的粗细?一旦我开始增加标签的大小,它们就太薄了。

另外,如何将参数 base_size 与 ggtern 主题一起使用?因为它似乎只适用于某些主题,所以如果我想扩大所有内容(包括箭头),我不确定我是否正确使用它。

4

1 回答 1

1

要更改箭头的线条粗细,您可以tern.axis.arrow通过该theme()功能访问。然后将大小更改为element_line()您喜欢的任何内容。

library(ggtern)
# Based of random data.
DATA <- data.frame(A = runif(100), B = runif(100), C = runif(100))
ggtern(data = DATA, 
               mapping = aes(x = A, y = B, z = C)) + 
  geom_point() + 
  ggtern::theme_bw(base_size = 30) + 
  theme_arrowlarge() +
  theme(tern.axis.arrow = element_line(size = 3))

如果您想直接修改箭头选项,您可以从ggtern::theme_bw函数后面的代码中看到 lineend 从名为 的全局选项调用tern.arrow

function (base_size = 12, base_family = "") 
{
    base = ggplot2::theme_bw(base_size, base_family)
    theme_ggtern(base_size, base_family) %+replace% base %+replace% 
        theme(tern.plot.background = element_rect(size = NA, 
            color = NA), tern.axis.line = element_line(color = base$panel.border$colour), 
            tern.axis.arrow = element_line(color = base$panel.border$colour, 
                lineend = getOption("tern.arrow")))
}
<bytecode: 0x7fb23868a558>
<environment: namespace:ggtern>

因此,您可以根据需要调整箭头的选项来调整箭头的类型、大小等。例如,这里我们将箭头更改为 0.75 厘米,将线条粗细更改为 3 号。

DATA <- data.frame(A = runif(100), B = runif(100), C = runif(100))
options(tern.arrow = arrow(type = "open", length = unit(.75, "cm")))
ggtern(data = DATA, 
               mapping = aes(x = A, y = B, z = C)) + 
  geom_point() + 
  ggtern::theme_bw(base_size = 30) + 
  theme_arrowlarge() +
  theme(tern.axis.arrow = element_line(size = 3))

这会产生一个线条更粗、箭头更大的图形

于 2020-11-05T21:46:42.827 回答