首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增加三元绘图中的箭头粗细[ggtern]

增加三元绘图中的箭头粗细[ggtern]
EN

Stack Overflow用户
提问于 2020-11-06 04:47:56
回答 1查看 146关注 0票数 0

下面是一些示例代码。

代码语言:javascript
复制
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主题一起使用?因为它似乎只适用于某些主题,如果我想放大所有内容,包括箭头,我不确定我是否正确地使用了它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-06 05:46:43

要更改箭头的线宽,可以通过theme()函数访问tern.axis.arrow。然后将element_line()的大小更改为您喜欢的大小。

代码语言:javascript
复制
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的全局选项调用的。

代码语言:javascript
复制
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。

代码语言:javascript
复制
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))

这会产生a figure with thicker lines and bigger arrows

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64705054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档