首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ggplot年超概率标度

ggplot年超概率标度
EN

Stack Overflow用户
提问于 2018-11-16 15:45:02
回答 1查看 623关注 0票数 1

我得到了计算日最大液体降水量( df )的年超概率(AEP)的数据。

代码语言:javascript
复制
df <- tibble::tribble(
   ~AEP,          ~P,
  0.001, 299.0973209,
   0.01, 254.7226534,
   0.03, 233.0298722,
   0.05, 223.9571177,
    0.1, 211.2898816,
    0.3, 190.5075232,
    0.5, 182.3294549,
      1, 170.5569051,
      3, 148.9113334,
      5,  138.991102,
     10, 125.4449161,
     20, 110.1408306,
     25,   104.74124,
     30, 100.2363357,
     40, 92.15268627,
     50, 85.75477796,
     60, 79.55311702,
     70, 73.44249835,
     75, 70.21061223,
     80, 66.79821521,
     90, 58.54507042,
     95, 52.44861458,
     97, 48.86357489,
     99, 43.12184627,
   99.5, 39.72675936,
   99.7,  37.5826596,
   99.9, 33.91759317
  )

我所需要的就是创建一个特定的标度,在中间的间隙和在上的增加之间具有相等的距离,两端都是这样。书中的一个完美的例子是:

我自己创建的(基于这个要旨的代码库)能够给我返回一堆标签:

代码语言:javascript
复制
library(dplyr)
library(scales)
library(ggplot2)

df %>% 
  ggplot(aes(x = AEP, y = P)) + 
  geom_point() +
  geom_line() +
  scale_y_continuous(name = "Precipitation (P), mm",
                     labels = scales::comma,
                     breaks = seq(0, 300, 50)) +
  scale_x_continuous(name = "AEP, %",
                     breaks = df$AEP,
                     labels = str_c(df$AEP,'%'),
                     expand = c(0.001,0.001)) +
  theme_grey(base_size = 12)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-17 11:10:12

我在堆栈溢出的问题中找到了一个答案。为了创建所需的规模,我们需要对所有的qnorm值(或其他x值)应用一个AEP分位数函数。

代码语言:javascript
复制
df %>% 
  ggplot(aes(x = qnorm(AEP/100), # transform to quantiles
             y = P)) + 
  geom_point() +
  geom_line() +
  scale_y_continuous(name = "Precipitation (P), mm",
                     labels = scales::comma,
                     breaks = seq(0, 300, 50)) +
  scale_x_continuous(name = "AEP, %",
                     breaks = qnorm(df$AEP/100), #transform
                     labels = df$AEP,
                     expand = c(0.035,0.035)) +
  theme_bw(base_size = 12)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53341139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档