herramientas - boton enviar thunderbird desaparecido
¿Cómo se trazan las barras en la parte superior de las líneas de la cuadrícula cuando se utiliza barra de barra? (2)
Estoy usando grid()
dentro de barplot()
. Como quiero que las barras se tracen en la parte superior de la cuadrícula, uso el panel.first
. panel.first
argumento. Sin embargo, las líneas de la cuadrícula no coinciden con los tics del eje y. ¿Alguien puede decirme cómo resolver este problema? Mi código es como a continuación, gracias.
WRE <- c(1423, 41721)
bp <- barplot(WRE, xaxt = ''n'', xlab = '''', yaxt = ''n'', las = 3, width = 0.5,
space = 1.5, main = paste("How You Compare", sep = ""), ylab = "",
names.arg = NA, col = c("red","blue"), cex.lab = 1,
panel.first = grid(nx = NA, ny = NULL))
axis(1, at=bp, labels=c("Average Claims", "Your Claims"),
tick=FALSE, las=1, line=-1, cex.axis=1)
axis(2, at=axTicks(2), sprintf("$%s", formatC(axTicks(2), digits=9, big.mark=",", width=-1)),
cex.axis=0.9, las=2)
Creo que esto podría caer dentro:
"panel.primero: una ''expresión'' que se evaluará después de configurar los ejes de trazado pero antes de que tenga lugar cualquier trazado. Esto puede ser útil para dibujar cuadrículas de fondo o trazado de dispersión suavizado. Tenga en cuenta que esto funciona por evaluación diferida: pasar este argumento de es posible que otros métodos de parcelas no funcionen, ya que pueden evaluarse demasiado pronto ".
Entonces, probablemente, la mejor manera de hacerlo es dibujar la barplot
de barplot
en 3 pasos:
# Draw the barplot
bp <- barplot(WRE, xaxt = ''n'',xlab = '''',yaxt = ''n'',las = 3, width =0.5,space = 1.5, main=paste("How You Compare", sep=""), ylab="", names.arg=NA, col=c("red","blue"), cex.lab=1)
# add the grid
grid(nx=NA, ny=NULL)
# redraw the bars...
barplot(WRE, xaxt = ''n'',xlab = '''',yaxt = ''n'',las = 3, width =0.5,space = 1.5, ylab="", names.arg=NA, col=c("red","blue"), cex.lab=1, add=T)
# Then you can add the axes
axis(1, at=bp, labels=c("Average Claims", "Your Claims"), tick=FALSE, las=1, line=-1, cex.axis=1)
axis(2, at=axTicks(2), sprintf("$%s", formatC(axTicks(2), digits=9, big.mark=",", width=-1)), cex.axis=0.9, las=2)
Puede intentar agregar la cuadrícula al gráfico después de establecer el eje, es decir, eliminar el panel.first
argumento y agregar la grid(nx=NA, ny=NULL)
después de agregar el eje