gpt4 book ai didi

r - R中条形图中数据值标签的错误顺序

转载 作者:行者123 更新时间:2023-12-04 12:29:01 25 4
gpt4 key购买 nike

我正在尝试在使用 lattice 包创建的条形图的条上添加数据值。下面是我的代码的快照。

不幸的是,栏顶部的值不正确。例如,在值为 3.02E-10 的柱顶部显示 4.76E-10 等等。有人可以帮我解决这个问题。

enter code here

p <- barchart (one_cir$Value~one_cir$bias, horiz=FALSE,xlim=select_bias, ylim=yrange, data=one_cir,
groups=droplevels(one_cir$Model),
xlab=list("RVBS (V)",cex=1.3 ),ylab=list("Delay (ps)",cex=1.3 ),
main="SVT Circuit Analysis: Delay vs RVBS",
panel = function(x,y,...){
panel.barchart(x,y,...)
panel.grid(h=-1, v=0, col="gray")
panel.text(x,y,label = one_cir$Value, pos=1,cex=1.2)
},scales=list(cex=1.2),
auto.key=list(x = .81, y = 1, corner = c(0, 0),half=FALSE,points = FALSE, cex=1.2, rectangles = TRUE)
)
print(p)

样本数据集

bias Circuits Model Temp Corner Parameter    Value

0.0 NOR2 11C 25 3-TT delay_DDC 3.02e-10

0.3 NOR2 11C 25 3-TT delay_DDC 3.79e-10

0.6 NOR2 11C 25 3-TT delay_DDC 4.92e-10

0.0 NOR2 11B 25 3-TT delay_DDC 2.90e-10

0.3 NOR2 11B 25 3-TT delay_DDC 3.66e-10

0.6 NOR2 11B 25 3-TT delay_DDC 4.76e-10

最佳答案

我不是 lattice pro,但是对 panel.text() 函数的以下调整正确地对标签进行了排序,并将标签放在各自的条上方,而不是与条重叠:

    panel.text(x + rep(c(.25, -.25), 3), y, label = one_cir$Value[order(one_cir$bias)], pos = 3, cex = 1.2)

这是我得到的输出:

lattice barchart with labels

我不知道是否有更格子的方式来获得相同的结果。我还省略了 xlim 和 ylim args,因为我没有这些对象。这是完整的代码:

    one_cir <- data.frame(bias = c(0.0, 0.3, 0.6, 0.0, 0.3, 0.6), 
Circuits = rep("NOR2", 6),
Model = rep(c("11C", "11B"), each = 3),
Temp = rep(25,6),
Corner = rep("3-TT", 6),
Parameter = rep("delay_DDC", 6),
Value = c(3.02e-10, 3.79e-10, 4.92e-10, 2.90e-10, 3.66e-10,4.76e-10)
)

library(lattice)
p <- lattice:::barchart(Value~bias, horiz = FALSE, data = one_cir,
groups = droplevels(Model),
xlab = list("RVBS (V)", cex = 1.3 ), ylab = list("Delay (ps)",cex = 1.3 ),
main = "SVT Circuit Analysis: Delay vs RVBS",
panel = function(x,y,...){
panel.barchart(x, y, ...)
panel.grid(h = -1, v = 0, col = "gray")
panel.text(x + rep(c(.25, -.25), 3), y, label = one_cir$Value[order(one_cir$bias)], pos = 3,cex = 1.2)
},
scales = list(cex = 1.2),
auto.key = list(x = .81, y = 1, corner = c(0, 0), half = FALSE, points = FALSE, cex = 1.2, rectangles = TRUE)
)
print(p)

关于r - R中条形图中数据值标签的错误顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9221564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com