x- en y-aslabels toevoegen in ggplot2

Hoe kan ik de x- en y-labels in deze grafiek wijzigen?

library(Sleuth2)
library(ggplot2)
discharge<-ex1221new$Discharge
area<-ex1221new$Area
nitrogen<-ex1221new$NO3
p <- ggplot(ex1221new, aes(discharge, area), main="Point")
p + geom_point(aes(size= nitrogen)) + 
    scale_area() + 
    opts(title = expression("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)"), 
         subtitle="n=41")

Antwoord 1, autoriteit 100%

[Opmerking: bewerkt om de ggplot-syntaxis te moderniseren]

Uw voorbeeld is niet reproduceerbaar aangezien er geen ex1221newis (er is een ex1221in Sleuth2, dus ik denk dat u dat bedoelde ). U hoeft ook geen kolommen uit te trekken (en zou ook niet moeten) om naar ggplotte sturen. Een voordeel is dat ggplotrechtstreeks met data.frames werkt.

Je kunt de labels instellen met xlab()en ylab(), of het onderdeel maken van de scale_*.*aanroep.

library("Sleuth2")
library("ggplot2")
ggplot(ex1221, aes(Discharge, Area)) +
  geom_point(aes(size=NO3)) + 
  scale_size_area() + 
  xlab("My x label") +
  ylab("My y label") +
  ggtitle("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)")

voer hier de afbeeldingsbeschrijving in

ggplot(ex1221, aes(Discharge, Area)) +
  geom_point(aes(size=NO3)) + 
  scale_size_area("Nitrogen") + 
  scale_x_continuous("My x label") +
  scale_y_continuous("My y label") +
  ggtitle("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)")

voer hier de afbeeldingsbeschrijving in

Een alternatieve manier om alleen labels op te geven (handig als u geen andere aspecten van de schalen wijzigt) is het gebruik van de functie labs

ggplot(ex1221, aes(Discharge, Area)) +
  geom_point(aes(size=NO3)) + 
  scale_size_area() + 
  labs(size= "Nitrogen",
       x = "My x label",
       y = "My y label",
       title = "Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)")

wat een identiek cijfer geeft als hierboven.


Antwoord 2

aangezien de gegevens ex1221new niet zijn gegeven, heb ik een dummy-gegevens gemaakt en deze aan een gegevensframe toegevoegd. Ook heeft de vraag die werd gesteld weinig wijzigingen in codes, zoals toen heeft het ggplot-pakket het gebruik van

afgeschaft

"scale_area()" and nows uses scale_size_area()
"opts()" has changed to theme()

In mijn antwoord heb ik de plot opgeslagen in de mygraph-variabele en vervolgens heb ik gebruikt

mygraph$labels$x="Discharge of materials" #changes x axis title
       mygraph$labels$y="Area Affected" # changes y axis title

En het werk is gedaan. Hieronder vindt u het volledige antwoord.

install.packages("Sleuth2")
library(Sleuth2)
library(ggplot2)
ex1221new<-data.frame(Discharge<-c(100:109),Area<-c(120:129),NO3<-seq(2,5,length.out = 10))
discharge<-ex1221new$Discharge
area<-ex1221new$Area
nitrogen<-ex1221new$NO3
p <- ggplot(ex1221new, aes(discharge, area), main="Point")
mygraph<-p + geom_point(aes(size= nitrogen)) + 
  scale_size_area() + ggtitle("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)")+
theme(
 plot.title =  element_text(color="Blue", size=30, hjust = 0.5), 
 # change the styling of both the axis simultaneously from this-
 axis.title = element_text(color = "Green", size = 20, family="Courier",)
   # you can change the  axis title from the code below
   mygraph$labels$x="Discharge of materials" #changes x axis title
   mygraph$labels$y="Area Affected" # changes y axis title
   mygraph

U kunt ook de titel van het label wijzigen met dezelfde formule die hierboven is gebruikt –

mygraph$labels$size= "N2" #size contains the nitrogen level 

Other episodes