Я не специалист по решетке, но следующий твик к функции panel.text () упорядочил метки правильно и разместил метки над соответствующими полосами, а не перекрывал их:1003 * Вот вывод, который я получил:
Я не знаю, есть ли более гибкий способ получить тот же результат.Я также пропустил аргументы xlim и ylim, потому что у меня не было этих объектов.Вот полный код:
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)