Использование geom_abline на графиках log-log в RStudio? - PullRequest
0 голосов
/ 08 ноября 2019

Моя цель - нанести несколько диагональных опорных линий на график журнала. Эти линии будут представлять C, где C = X x Y. По сути, на графике представлена ​​ссылка на количество материала, где ось X представляет общее количество, а ось Y представляет концентрацию материала. Прилагаемый пример того, что я имею в виду - я сделал этот сюжет в Matlab. Я пытаюсь воспроизвести похожие сюжеты в RStudio;однако geom_abline, кажется, не работает, когда я применяю масштабирование журнала, используя scale_x_log10 и scale_y_log10. Я могу получить линии для построения, когда я не применяю масштабирование журнала. Почему geom_abline, кажется, не работает для масштаба журнала, и как лучше всего построить эти диагональные линии в масштабе журнала, используя библиотеку ggplot2? Заранее спасибо. Код для справки:

library(tidyverse)
breaks <- 10^(-10:10)
minor_breaks <- rep(1:9, 21)*(10^rep(-10:10, each=9))

ggplot(Re1, aes(x = Tonnage, y = Percent.grade, group = Type)) + 
  geom_point(aes(shape=Type, color=Type)) +
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
  geom_text_repel(aes(label=Name),size = 3) +

  geom_abline(intercept=0.000011,slope=-1*10^-14) +
  geom_abline(intercept=3*0.000011,slope=-1*10^-14) +

  scale_x_log10(breaks = breaks, minor_breaks = minor_breaks) +
  scale_y_log10(breaks = breaks, minor_breaks = minor_breaks) +
  annotation_logticks() +
  coord_equal() +
  theme_bw() + 

  labs(
    x = "Metric Tons",
    y = "Weight % Re",

    shape = "Deposit Type",
    color = "Deposit Type",
    title = "Rhenium Grade-Tonnage Model"
  ) 

dput(Re1) 
structure(list(Name = structure(c(13L, 2L, 3L, 11L, 12L, 18L, 
14L, 19L, 4L, 17L, 23L, 7L, 8L, 22L, 10L, 1L, 9L, 15L, 5L, 24L, 
20L, 21L, 16L, 6L), .Label = c("Bagdad", "Bingham", "Butte", 
"Castle Dome", "Climax", "Copper Creek", "Ely", "Miami-Inspiration", 
"Mineral Park", "Mission-Pima", "Morenci", "Mount Tolman", "Pebble", 
"Quartz Hill", "Questa", "Ray", "San Manuel-Kalamazoo", "Santa Rita", 
"Sierrita- Esperanza", "Silver Bell", "Thompson Creek", "Tomichi", 
"Twin Buttes", "Urad-Henderson"), class = "factor"), Tonnage = c(5.94e+09, 
3.23e+09, 5.22e+09, 5.22e+09, 2.177e+09, 3.03e+09, 1.6e+09, 2.262e+09, 
1.438e+09, 1.39e+09, 9.4e+08, 7.54e+08, 1.591e+10, 7.11e+08, 
9e+08, 1.6e+09, 8.76e+08, 4.24e+08, 8e+08, 4.37e+08, 2.68e+08, 
2.12e+08, 1.583e+09, 7.5e+07), Grade = c(4.461e-07, 2.211e-07, 
1.121e-07, 8.93e-08, 1.631e-07, 1.069e-07, 1.888e-07, 1.158e-07, 
1.599e-07, 1.647e-07, 2.298e-07, 2.653e-07, 1.01e-08, 2.166e-07, 
1.5e-07, 8.13e-08, 5.02e-08, 8.96e-08, 4.38e-08, 7.55e-08, 1.157e-07, 
1.415e-07, 1.39e-08, 9.33e-08), Percent.grade = c(4.46128e-05, 
2.21053e-05, 1.12069e-05, 8.9272e-06, 1.63068e-05, 1.06931e-05, 
1.8875e-05, 1.15827e-05, 1.59944e-05, 1.64748e-05, 2.29787e-05, 
2.65252e-05, 1.0057e-06, 2.16596e-05, 1.5e-05, 8.125e-06, 5.0228e-06, 
8.9623e-06, 4.375e-06, 7.5515e-06, 1.15672e-05, 1.41509e-05, 
1.3898e-06, 9.3333e-06), Contained = c(2650L, 714L, 585L, 466L, 
355L, 324L, 302L, 262L, 230L, 229L, 216L, 200L, 160L, 154L, 135L, 
130L, 44L, 38L, 35L, 33L, 31L, 30L, 22L, 7L), Type = structure(c(4L, 
2L, 4L, 4L, 4L, 2L, 5L, 4L, 3L, 4L, 4L, 2L, 4L, 4L, 2L, 4L, 2L, 
1L, 1L, 1L, 4L, 5L, 2L, 2L), .Label = c("Climax Mo", "Porphyry Cu", 
"Porphyry Cu-Au", "Porphyry Cu-Mo", "Porphyry Mo"), class = "factor")), class = "data.frame", row.names = c(NA, 
-24L))

Пример диагональных линий, которые я пытаюсь воссоздать в RStudio

Диагональные линии строятся при удалении #scale _ * _ log10

Когда я использую масштаб _ * _ log10, линии не отображаются

...