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 ex1221new
is (er is een ex1221
in Sleuth2
, dus ik denk dat u dat bedoelde ). U hoeft ook geen kolommen uit te trekken (en zou ook niet moeten) om naar ggplot
te sturen. Een voordeel is dat ggplot
rechtstreeks met data.frame
s 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)")
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)")
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