मैं एक बार चार्ट (नीचे उदाहरण) में एक और लेबल (संख्या) के बाद एक लेबल (संज्ञा) जोड़ने की कोशिश कर रहा हूं। यह सामान्य पाठ के साथ अच्छी तरह से काम करता है (उदाहरण में Value2 जैसे कॉलम बनाना), लेकिन अगर मुझे सबस्क्रिप्ट की आवश्यकता है, तो यह काम नहीं करता है।

मैंने "bquote" और "अभिव्यक्ति" के साथ कुछ कामकाज की कोशिश की लेकिन इसे समझ नहीं पाया। विचार यह है कि GHG चर में संख्याओं को चित्र (CO[2], CH[4] और N[2]O) में एक सबस्क्रिप्ट के रूप में प्रदर्शित किया जाए।

कोई अंतर्दृष्टि? नीचे सरल कामकाजी उदाहरण

GHG = c("CH4", "CO2", "N2O")

Value = c(10, 5, 2)

Value2 = c("10 - CH4", "5 - CO2", "2 - N2O")

df = data.frame(GHG, Value, Value2)

g1 = ggplot(data=df, aes(x=GHG, y=Value)) +
  
  geom_bar(stat="identity") +
  
  geom_text(data=df, aes(label = Value2, y= Value, hjust=-0.1), size=4) +
        
  xlab ("") +
  ylab ("") +
  
  coord_flip() +
  
  scale_y_continuous(limits=c(0,11)) + 
  
  theme(text=element_text(family="serif", size=15, colour="black")) +
  theme(axis.text.x=element_text(size=15, colour = "black")) +
  
  easy_remove_y_axis() 

g1

enter image description here

0
Andre Mazzetto 22 अगस्त 2021, 07:07

1 उत्तर

सबसे बढ़िया उत्तर

एक तरीका ggtext पैकेज का उपयोग करना होगा जहां आप <sub> और <sup> टैग का उपयोग कर सकते हैं।

library(ggplot2)
library(ggtext)
library(ggeasy)

GHG = c("CH4", "CO2", "N2O")
Value = c(10, 5, 2)
Value2 = c("10 - CH<sub>4</sub>", "5 - CO<sub>2</sub>", "2 - N<sub>2</sub>O")
df = data.frame(GHG, Value, Value2)

ggplot(data=df, aes(x=GHG, y=Value)) +
  geom_col() +
  geom_richtext(aes(label = Value2, hjust=-0.1), size=4) +
  xlab ("") +
  ylab ("") +
  coord_flip() +
  scale_y_continuous(limits=c(0,11)) + 
  theme(text=element_text(family="serif", size=15, colour="black")) +
  theme(axis.text.x=element_text(size=15, colour = "black")) + 
  easy_remove_y_axis() 

enter image description here

1
Ronak Shah 22 अगस्त 2021, 08:46