【问题标题】:Custom y-axis labels in ggplot2 with log transformed co-ordinatesggplot2 中带有对数转换坐标的自定义 y 轴标签
【发布时间】:2012-09-27 22:31:14
【问题描述】:

我正在使用 ggplot2 绘制一个漂亮的线图,其下限和上限由 geom_ribbon 提供 - 见下文:

ggplot(data = inflow, aes(x = tt, y = inflow.mean)) + geom_line(size = 1) + 
geom_ribbon(eb, alpha = 0.5) + coord_trans(y = "log") 

有人可以告诉我如何使 y 轴标签看起来更漂亮吗?

我想显示:0, 1, 10, 100 等。

注意:在互联网上搜索时,似乎对于 geom_ribbon,coord_trans 必须用于具有对数刻度。

【问题讨论】:

  • 您没有提供问题的工作示例,也没有提供图片来说明缺少工作示例。但无论如何:coord_trans(y = "log10") 是如何工作的?还是scale_y_log10() 而不是 coord_trans?另请注意:“转换比例和转换坐标系之间的区别在于,比例转换发生在统计之前,坐标转换发生在之后。” (来自 coord_trans 文档)。
  • 你看过[这个答案](stackoverflow.com/a/9223257/893243?)。你也可以用log(inflow.mean) 包裹inflow.mean。如果这不能解决您的问题,您将不得不提供有关您的数据的更多信息。
  • 谢谢大家。从那以后,我找到了一个有效的解决方案。 Jase_ - 我按照你的建议包装了我的变量并使用了我自己包装的 y 轴标签:lab
  • @mjburns 你应该发表你的评论作为你问题的答案:)

标签: r ggplot2


【解决方案1】:

Jase_ - 我按照你的建议包装了我的变量并使用了我自己包装的 y 轴标签:

lab <- log(c(0.01, 1.01, 5.01, 10.01, 20.01, 50.01)) 
names <- c(0,1,5,10,20,50 )
ggplot(data = inflow, aes(x = tt, y = inflow.mean)) + 
  geom_line(size = 1) + geom_ribbon(eb, alpha = 0.5) + 
  scale_y_continuous(breaks = lab, labels = names) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多