r - R ggplot2 轴文本在对数刻度中消失
问题描述
我正在尝试创建一个图,其中一个或两个轴是对数刻度,轴文本以指数表示法格式化,例如 10^-2,但“-2”是上标的。按照 Winston Chang 的书中给出的示例以及在网上找到的示例,我过去已经成功地做到了这一点。但是,如果我使用以前工作的相同代码,轴文本就会消失。一个可重现的例子:
library(tidyverse)
library(scales)
plot.dat <- tibble(
time = seq(from = 0, to = 5, by = 0.2),
C = exp(-2*time)
)
ggplot(data = plot.dat, mapping = aes(x = time, y = C)) +
geom_point() +
scale_y_log10(
breaks = trans_breaks('log10', function(x) 10^x),
labels = trans_format('log10', math_format(10^.x))
) +
theme(
axis.text.y = element_text(colour = "red", size = rel(1.5))
)
注意 - 我添加了主题声明只是为了检查文本颜色或大小是否由于某种原因没有改变。问题似乎与部分中的labels
行有关scale_y_log10
- 出现注释行和轴文本,尽管不是所需的格式:
取消注释该行并且文本消失:
这发生在scale_x_log10
and scale_y_log10
。有两件事让我觉得有些东西发生了变化,scales
但我似乎无法弄清楚它是什么:1)这个问题发生在试图重现 Chang 书中给出的示例(图 8-27)时,2)问题发生使用以前成功的脚本时。
解决方案
推荐阅读
- google-apps-script - “getvalues”有时会返回“#REF!”
- postgresql - Sequelize - 将聚合函数值放在每个结果之外
- javascript - AJAX 调用返回 404(Spring Boot)
- hql - 如何检查可滚动界面是否为空?
- c# - .Net core 2.0 控制台应用程序作为 Windows 服务
- python - Cygwin:导入 numpy 错误
- android - PWA - 避免为 Google 单点登录打开浏览器窗口
- javascript - 通过电子邮件发送 onclick 按钮以检索用户电子邮件
- linq - 如何在 Linq Where 子句中有变量?
- ios - NSURLSessions 和 HLS 视频缓存 - 部分下载无法删除