r - 如何获得点阵 xyplot 的 y 轴以将分数显示为百分比?

标签 r lattice

我希望能够以百分比单位显示我的晶格 xyplot 的 y 轴(例如 0.45 = 45%)。

这是一个带有一些虚假工业过程产量数据的示例:

library(lattice)
set.seed(1234)
my.df <- data.frame(period=c(1:20),
                    n=floor(runif(n=20,min=40,max=80)),
                    d=rpois(n=20,lambda=5))
my.df$yield <- (my.df$n-my.df$d)/my.df$n
xyplot(yield~period,data=my.df)

example plot

我希望上面的 y 轴标签改为 80%、85%、90%、95%

我的 yield变量是表示为范围内的小数的分数 (0 <= yield <= 1)。
我不想对 data.frame 中的数据进行预处理(例如乘以 100),我希望通过绘图操作来处理这个问题。

最佳答案

您可以向 yscale.components 提供一个函数xyplot 的参数(见 ?xyplot?xscale.components.default)。使用 sprintf()添加百分比符号,您可以在线执行 100 倍乘法。

xyplot(yield~period,data=my.df,
       yscale.components=function(...){
           yc <- yscale.components.default(...)
           yc$left$labels$labels <-
               sprintf("%s%%",yc$left$labels$at*100) ## convert to strings as pct
           return(yc) 
       })

example plot

关于r - 如何获得点阵 xyplot 的 y 轴以将分数显示为百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15664577/

相关文章:

RStudio 正在执行我两次调用的每个电话

从 R 中的库效果中删除图​​中第 3 轴和第 4 轴上的刻度

python - R Lattice 类似于 Python、Pandas 和 Matplotlib 的绘图

r - 自动保存多页格子图

r - ggplot2等价于matplot():按列绘制矩阵/数组?

r - Shiny 的 fileInput 不保留文件名

r - 如何在 R 中使用latticeExtra 中的 doubleYScale 时更改 Y 轴刻度的字体大小

r - 如何生成一个因素以另一个因素为条件的条形图?

r - 如何从R中的文件读取逻辑数据

r - 无需完全重新分配即可更改数据框中的列位置