簡體   English   中英

有沒有辦法可以使用 RStudio 將日志網格線添加到我的圖表中?

[英]Is there a way I can add log gridlines to my graph with RStudio?

我目前正在嘗試使用 Rstudio 創建劑量反應曲線,並且我正在使用tidydrc package。 我想知道是否有一種方法可以添加次要網格線,因為x-axislog

這是我到目前為止所擁有的圖像

在此處輸入圖像描述

這是我到目前為止的代碼:

tidydrc_plot(Nifedipinedrc,ed50=FALSE)  + 
  scale_x_log10() + 
  geom_errorbar(aes(ymin=g$Nifedipine-g$SD, ymax=g$Nifedipine+g$SD, x=Nifedipinedrc[[1]][[1]]$d, y=Nifedipinedrc[[1]][[1]]$r)) +
  ggtitle("graph") +
  labs(x="Concentration", y= "Force")

我知道這絕對是一團糟的代碼,但我完全是自學成才,我覺得我在這方面有點碰壁,因為我實際上並不了解目前堆棧上的很多指南。

這是一個 function,您可以將其用於對數刻度的minor_breaks參數。 建議的 function 使用來自 ggplot2 的未導出 function,所以我有點作弊。 不過,這可能只適用於 log10 軸,您可能希望通過theme()設置進一步突出主要網格線。

library(ggplot2)

# A function factory for minor log breaks
minor_breaks_log <- function(base) {
  # Prevents lazy evaluation
  force(base) 
  # Wrap calculation in a function that the outer function returns
  function(limits) {
    ggplot2:::calc_logticks(
      base = base, 
      minpow = floor(log(limits[1], base = base)), 
      maxpow = ceiling(log(limits[2], base = base))
    )$value
  }
}

ggplot(msleep, aes(bodywt, brainwt)) +
  geom_point() +
  scale_y_log10(minor_breaks = minor_breaks_log(10)) +
  scale_x_log10(minor_breaks = minor_breaks_log(10))
#> Warning: Removed 27 rows containing missing values (geom_point).

代表 package (v0.3.0) 於 2020 年 12 月 2 日創建

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM