web-dev-qa-db-fra.com

Changer la couleur de fond de la parcelle R

Très bien, supposons que j'ai l'intrigue suivante.

df = data.frame(date=c(rep(2008:2013, by=1)),
                value=c(303,407,538,696,881,1094))

barplot(df$value, main="TITLE", col="gray", ylab="People", xlab="Years")

Comment puis-je changer le fond en bleu marine?

Je sais que cela est possible avec ggplot2, mais je ne suis pas sûr de pouvoir le faire avec des graphiques de base.

36
ATMathew

Une recherche sur Google plus tard nous avons appris que vous pouvez définir la couleur de fond du dispositif de traçage comme indiqué par Owen. Si vous souhaitez simplement modifier la zone de traçage, vous devez procéder comme décrit dans le fil de discussion R-Help:

plot(df)
rect(par("usr")[1],par("usr")[3],par("usr")[2],par("usr")[4],col = "gray")
points(df)

La fonction barplot a un paramètre add que vous devrez probablement utiliser.

36
joran

Comme

par(bg = 'blue')
# Now do plot
40
Owen

Vieille question, mais j’ai une bien meilleure façon de le faire. Plutôt que d'utiliser rect(), utilisez polygon. Cela vous permet de tout conserver dans plot sans utiliser points. De plus, vous n'avez pas à jouer avec par du tout. Si vous souhaitez que les choses restent automatisées, définissez les coordonnées de polygon en fonction de vos données. 

plot.new()
polygon(c(-min(df[,1])^2,-min(df[,1])^2,max(df[,1])^2,max(df[,1])^2),c(-min(df[,2])^2,max(df[,2])^2,max(df[,2])^2,-min(df[,2])^2), col="grey")
par(new=T)
plot(df)
4
CCurtis

Après avoir combiné les informations de ce fil avec le R-help ? Rect, je suis arrivé à ce graphique de Nice pour les données de rythme circadien ( tracé 24h ). Le script pour les rectangles de fond est le suivant:

script racine:

>rect(xleft, ybottom, xright, ytop, col = NA, border = NULL)

Mon script:

>i <- 24*(0:8)
>rect(8+i, 1, 24+i, 130, col = "lightgrey", border=NA)
>rect(8+i, -10, 24+i, 0.1, col = "black", border=NA)

L'idée est de représenter des journées de 24 heures avec 8 h de lumière et 16 h d'obscurité.

À votre santé,

Romário

2
Melo Jrf
adjustcolor("blanchedalmond",alpha.f = 0.3)

La fonction ci-dessus fournit un code de couleur qui correspond à une version transparente de la couleur d'entrée (dans ce cas, la couleur d'entrée est "blanchedalmond."). 

Les valeurs alpha d'entrée vont de 0 à 1, 0 étant complètement transparent et 1 complètement opaque. (Dans ce cas, le code pour la couleur translucide de "blanchedalmond" étant donné un alpha de .3 est "#FFEBCD4D." Assurez-vous d'inclure le symbole de hashtag). Vous pouvez transformer la nouvelle couleur translucide en couleur de fond en utilisant cette fonction fournie par joran plus tôt dans ce fil de discussion:

rect(par("usr")[1],par("usr")[3],par("usr")[2],par("usr")[4],col = "blanchedalmond")

En utilisant une couleur translucide, vous pouvez être sûr que les données du graphique seront toujours visibles après l'application de la couleur d'arrière-plan . J'espère que cela vous aidera!

0
Noah Wright