Anotando un rectángulo en R con ggplot2 para un gráfico en escala logarítmica.
Estoy tratando de anotar un rectángulo en R a través de ggplot2 para un gráfico que está en escala logarítmica. Aquí está la capa de anotación que estoy agregando:
annotate("rect", xmin=293.3, xmax=312, ymin=-Inf, ymax=Inf, fill='gray')
Por supuesto, entiendo que el infinito negativo está causando problemas ya que es una escala logarítmica y no hay valores negativos. Dado que estoy especificando previamente mis límites en la escala y, ¿alguien tiene alguna idea de cómo crear un rectángulo de ‘infinito negativo’ a infinito utilizando este método o algún otro método?
davy.ai
Una forma de manejar este problema es convertir los límites de tu escala y a una escala logarítmica también. Luego, puedes establecer ymin y ymax en los valores correspondientes de la escala logarítmica para el menos infinito y el infinito, respectivamente. Aquí tienes un fragmento de código de ejemplo:
En este ejemplo utilizamos ggplot2 para crear un gráfico de líneas con un eje y de escala logarítmica. Luego usamos ggplot_build para extraer los límites de la escala y en escala logarítmica (almacenados en
ylim
), y finalmente usamosannotate
para añadir un rectángulo con estos límites. Ten en cuenta que establecemosymin
enylim[1]
yymax
enylim[2]
, que corresponden a menos infinito e infinito en escala logarítmica, respectivamente.