如何避免使用ggtern / ggplot2剪切标签(例如xpd = TRUE)

时间:2018-10-23 13:30:55

标签: r ggplot2 label clipping ggtern

在下面的三元图中,轴外的标签被裁剪。我找不到ggtern()ggplot2可以避免这种情况的设置。对于基本R图形,我只使用xpd=TRUE

enter image description here

我的数据:

modes <-
structure(list(Mode = c("Literature", "Poetry", "Table", "Map", 
"Thematic map", "Graph", "Art", "Diagram", "Statistical analysis", 
"Statistical graphics"), Words = c(9L, 7L, 1L, 2L, 2L, 1L, 4L, 
2L, 6L, 8L), Numbers = c(0.5, 1, 9, 2, 8, 1, 1, 0, 15, 8), Pictures = c(1L, 
4L, 1L, 9L, 14L, 11L, 8L, 9L, 5L, 15L)), .Names = c("Mode", "Words", 
"Numbers", "Pictures"), problems = structure(list(row = 10L, 
    col = NA_character_, expected = "4 columns", actual = "5 columns", 
    file = "'modes.dat'"), .Names = c("row", "col", "expected", 
"actual", "file"), row.names = c(NA, -1L), class = c("tbl_df", 
"tbl", "data.frame")), row.names = c(NA, -10L), spec = structure(list(
    cols = structure(list(Mode = structure(list(), class = c("collector_character", 
    "collector")), Words = structure(list(), class = c("collector_integer", 
    "collector")), Numbers = structure(list(), class = c("collector_double", 
    "collector")), Pictures = structure(list(), class = c("collector_integer", 
    "collector"))), .Names = c("Mode", "Words", "Numbers", "Pictures"
    )), default = structure(list(), class = c("collector_guess", 
    "collector"))), .Names = c("cols", "default"), class = "col_spec"), class = c("tbl_df", 
"tbl", "data.frame"))

代码:

library(ggtern)

AES <- (aes(x=Numbers, y=Words, z=Pictures, label=Mode ))

ggtern(data=modes, mapping=AES) +
  geom_point(size=3, color="red") +
  geom_label(vjust = "bottom")  + theme(text = element_text(size=16))

1 个答案:

答案 0 :(得分:2)

我通过滚动R Studio中的theme_条建议找到了答案:theme_nomask()完成了我想要的。造成这一困难的原因是,ggtern拥有自己的三线性图约定,与ggplot2的约定不同。

ggtern(data=modes, mapping=AES) +
  geom_point(size=3, color="red") +
  geom_label(vjust = "bottom")  + 
  theme_nomask() + 
  theme(text = element_text(size=16))

enter image description here