2016-01-20 9 views
5

mam tę działkę przy użyciu kodu poniżejIndeksy dolne i górne "-" lub "+" z etykietami osi ggplot2? (Jonowy zapis chemiczny)

enter image description here

W mojej działce, chcę NO3 mieć negatywny znak „-” jako górny jak poniżej

enter image description here

na etykiecie osi x, nie może użyć znak ujemny tylko w indeksie górnym, NO3 więc było użyć -1 jak pokazano poniżej

x <- seq(0,2*pi,0.1) 
y <- sin(x) 

df <- data.frame(x, y) 
ggplot(df, aes(x=x, y=y))+ 
geom_point(size=4)+ 
labs(x=expression(Production~rate~" "~mu~moles~NO[3]^{-1}-N~Kg^{-1}), 
    y=expression(Concentration~mg~L^{-1})) 

Jakieś sugestie, jak zmienić etykietę, aby mieć znak ujemny tylko bez 1?

+1

Wystarczy użyć wartości ciągu, a nie numerycznej jednego: 'NIE [3]^{ "-"}' – MrFlick

+0

@MrFlick Dziękuję – aelwan

+1

I jest jeszcze inna strategia. Użyj pustego znaku po (jednokrotnym) minusie. Ma tę zaletę, że wszystkie minusy wyglądają podobnie: "NIE [3]^{-" "} –

Odpowiedz

9

Spróbuj podając znak minus:

ggplot(df, aes(x=x, y=y))+ 
geom_point(size=4)+ 
labs(x=expression(Production~rate~" "~mu~moles~NO[3]^{"-"}-N~Kg^{-1}), 
    y=expression(Concentration~mg~L^{-1})) + 
theme(legend.title = element_text(size=12, face="bold"), 
     legend.text=element_text(size=12), 
     axis.text=element_text(size=12), 
     axis.title = element_text(color="black", face="bold", size=18)) 

myślę, że wygląda bardziej naukowo dokładna użycie operatora %.% między jednostkami:

+ labs(x=expression(Production~rate~" "~mu~moles~NO[3]^{textstyle("-")}-N %.% Kg^{-1}), 
    y=expression(Concentration~mg~L^{-1})) + 

textstyle powinien zachować tekst górny-ED przed zmniejszona W rozmiarze. Nie jestem również pewien, dlaczego masz " " między dwoma tyldami. Można ciąg cała masa tyldami razem w celu zwiększenia "przestrzeni":

ggplot(df, aes(x=x, y=y))+ 
geom_point(size=4)+ 
labs(x=expression(Production~rate~~~~~~~~~~~~mu~moles~NO[3]^{textstyle("-")}-N %.% Kg^{-1}), 
    y=expression(Concentration~mg~L^{-1})) + 
theme(legend.title = element_text(size=12, face="bold"), 
     legend.text=element_text(size=12), 
     axis.text=element_text(size=12), 
     axis.title = element_text(color="black", face="bold", size=18)) 

enter image description here

+0

Dziękuję bardzo. – aelwan

+1

Cytowanie liczb jest również sposobem na obejście trudności z uzyskiwaniem kursywy z plotera. –

Powiązane problemy