Question

J'ai utilisé les informations de ce poste pour créer un histogramme avec une échelle logarithmique: Histogramme avec logarithmiques échelle

Cependant, la sortie de la parcelle ne ressemble en rien la sortie de hist. Est-ce que quelqu'un sait comment configurer la sortie de la parcelle pour ressembler à la sortie de hist? Merci pour l'aide.

Était-ce utile?

La solution

Une version simplifiée, reproductible de la réponse est liée

x <- rlnorm(1000)
hx <- hist(x, plot=FALSE)
plot(hx$counts, type="h", log="y", lwd=10, lend="square")

Pour les axes recherche plus "hist-like", remplacez la dernière ligne avec

plot(hx$counts, type="h", log="y", lwd=10, lend="square", axes = FALSE)
Axis(side=1)
Axis(side=2)

Obtenir les barres à joindre va être un cauchemar en utilisant cette méthode. Je suggère d'utiliser tâtonnement avec des valeurs de lwd (dans cet exemple, 34 est quelque part près de la recherche à droite), ou apprendre à utiliser lattice ou ggplot.


EDIT: Vous ne pouvez pas définir une couleur de bordure, parce que les barres ne sont pas vraiment des rectangles - ils ne sont que des lignes de graisse. Nous pouvons faux l'effet frontière en traçant des lignes légèrement plus minces sur le dessus. Le code mis à jour est

par(lend="square")
bordercol <- "blue"
fillcol <- "pink"
linewidth <- 24
plot(hx$counts, type="h", log="y", lwd=linewidth, col=bordercol, axes = FALSE)
lines(hx$counts, type="h", lwd=linewidth-2, col=fillcol)
Axis(side=1)
Axis(side=2)

Autres conseils

Comment l'utilisation ggplot2?

x <- rnorm(1000)
qplot(x) + scale_y_log10()

Mais je suis d'accord avec le commentaire de Hadley sur l'autre poste qui ayant un histogramme avec une échelle logarithmique semble bizarre pour moi =).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top