#ggplot2

##scatter plot

library(ggplot2)
#aes=exis
#geom_point for scatter plot
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
  geom_point(size = 2)

Color change according to type

library(ggplot2)
#aes=exis
#geom_point for scatter plot
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
  geom_point(size = 2) +
  #Naming should be according to the dataset
  scale_colour_manual(values = c("Setosa" = "blue", "Versicolor" = "red", "Virginica" = "green"))

Lebels

library(ggplot2)
#aes=exis
#geom_point for scatter plot
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
  geom_point(size = 2) +
  #Naming should be according to the dataset
  scale_colour_manual(values = c("Setosa" = "blue", "Versicolor" = "red", "Virginica" = "green")) +
  labs(title = "Scatterplot using ggplot2",
       x = "Length",
       y = "Width",
       caption = "Source: Iris Dataset"
       )

Theme

library(ggplot2)
#aes=exis
#geom_point for scatter plot
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
  geom_point(size = 2) +
  #Naming should be according to the dataset
  scale_colour_manual(values = c("Setosa" = "blue", "Versicolor" = "red", "Virginica" = "green")) +
  labs(title = "Scatterplot using ggplot2",
       x = "Length",
       y = "Width",
       caption = "Source: Iris Dataset") +
  theme_minimal() #transparent/white background

Legend position

library(ggplot2)
#aes=exis
#geom_point for scatter plot
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
  geom_point(size = 2) +
  #Naming should be according to the dataset
  scale_colour_manual(values = c("Setosa" = "blue", "Versicolor" = "red", "Virginica" = "green")) +
  labs(title = "Scatterplot using ggplot2",
       x = "Length",
       y = "Width",
       caption = "Source: Iris Dataset") +
  theme(legend.position = "bottom")

Text change

library(ggplot2)
#aes=exis
#geom_point for scatter plot
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
  geom_point(size = 2) +
  #Naming should be according to the dataset
  scale_colour_manual(values = c("Setosa" = "blue", "Versicolor" = "red", "Virginica" = "green")) +
  labs(title = "Scatterplot using ggplot2",
       x = "Length",
       y = "Width",
       caption = "Source: Iris Dataset") +
  
  theme(legend.position = "bottom",
        text = element_text(color = "black", size = 10),
        axis.text.x = element_text(color = "blue", size = 9),
        axis.text.y = element_text(color = "red", size = 9)
        )

Image quality modification

library(ggplot2)
#aes=exis
#geom_point for scatter plot
scatter_plot = ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
  geom_point(size = 2) +
  #Naming should be according to the dataset
  scale_colour_manual(values = c("Setosa" = "blue", "Versicolor" = "red", "Virginica" = "green")) +
  labs(title = "Scatterplot using ggplot2",
       x = "Length",
       y = "Width",
       caption = "Source: Iris Dataset") +
  
  theme(legend.position = "bottom",
        text = element_text(color = "black", size = 10),
        axis.text.x = element_text(color = "blue", size = 9),
        axis.text.y = element_text(color = "red", size = 9)
        )
scatter_plot
#save as a variable
ggsave("scatter_plot_500dpi.png", dpi = 500)
Saving 4.17 x 2.57 in image

Plot as a Variable

scatter_plot

Boxplot

box_plot = ggplot(iris, aes(x = variety, y = sepal.length, fill = variety)) +
  #fill for default color 
  #aes foe axis
geom_boxplot() +
  labs(title = "Boxplot using ggplot2",
       x = "Class",
       y = "Length") +
  
  theme(legend.position = "right",
        text = element_text(color = "black", size = 10),
        axis.text.x = element_text(color = "blue", size = 9),
        axis.text.y = element_text(color = "red", size = 8))
  box_plot
#save as a variable
ggsave("box_plot_500dpi.png", dpi = 500)
Saving 7.29 x 4.5 in image

#here the dot sign is a outlier

As a variable

box_plot

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojZ2dwbG90Mg0KDQojI3NjYXR0ZXIgcGxvdA0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCiNhZXM9ZXhpcw0KI2dlb21fcG9pbnQgZm9yIHNjYXR0ZXIgcGxvdA0KZ2dwbG90KGlyaXMsIGFlcyh4ID0gc2VwYWwubGVuZ3RoLCB5ID0gc2VwYWwud2lkdGgsIGNvbG9yID0gdmFyaWV0eSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMikNCmBgYA0KIyMjIENvbG9yIGNoYW5nZSBhY2NvcmRpbmcgdG8gdHlwZQ0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCiNhZXM9ZXhpcw0KI2dlb21fcG9pbnQgZm9yIHNjYXR0ZXIgcGxvdA0KZ2dwbG90KGlyaXMsIGFlcyh4ID0gc2VwYWwubGVuZ3RoLCB5ID0gc2VwYWwud2lkdGgsIGNvbG9yID0gdmFyaWV0eSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMikgKw0KICAjTmFtaW5nIHNob3VsZCBiZSBhY2NvcmRpbmcgdG8gdGhlIGRhdGFzZXQNCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXMgPSBjKCJTZXRvc2EiID0gImJsdWUiLCAiVmVyc2ljb2xvciIgPSAicmVkIiwgIlZpcmdpbmljYSIgPSAiZ3JlZW4iKSkNCmBgYA0KDQojIyMgTGViZWxzDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCiNhZXM9ZXhpcw0KI2dlb21fcG9pbnQgZm9yIHNjYXR0ZXIgcGxvdA0KZ2dwbG90KGlyaXMsIGFlcyh4ID0gc2VwYWwubGVuZ3RoLCB5ID0gc2VwYWwud2lkdGgsIGNvbG9yID0gdmFyaWV0eSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMikgKw0KICAjTmFtaW5nIHNob3VsZCBiZSBhY2NvcmRpbmcgdG8gdGhlIGRhdGFzZXQNCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXMgPSBjKCJTZXRvc2EiID0gImJsdWUiLCAiVmVyc2ljb2xvciIgPSAicmVkIiwgIlZpcmdpbmljYSIgPSAiZ3JlZW4iKSkgKw0KICBsYWJzKHRpdGxlID0gIlNjYXR0ZXJwbG90IHVzaW5nIGdncGxvdDIiLA0KICAgICAgIHggPSAiTGVuZ3RoIiwNCiAgICAgICB5ID0gIldpZHRoIiwNCiAgICAgICBjYXB0aW9uID0gIlNvdXJjZTogSXJpcyBEYXRhc2V0Ig0KICAgICAgICkNCmBgYA0KIyMjIFRoZW1lDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCiNhZXM9ZXhpcw0KI2dlb21fcG9pbnQgZm9yIHNjYXR0ZXIgcGxvdA0KZ2dwbG90KGlyaXMsIGFlcyh4ID0gc2VwYWwubGVuZ3RoLCB5ID0gc2VwYWwud2lkdGgsIGNvbG9yID0gdmFyaWV0eSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMikgKw0KICAjTmFtaW5nIHNob3VsZCBiZSBhY2NvcmRpbmcgdG8gdGhlIGRhdGFzZXQNCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXMgPSBjKCJTZXRvc2EiID0gImJsdWUiLCAiVmVyc2ljb2xvciIgPSAicmVkIiwgIlZpcmdpbmljYSIgPSAiZ3JlZW4iKSkgKw0KICBsYWJzKHRpdGxlID0gIlNjYXR0ZXJwbG90IHVzaW5nIGdncGxvdDIiLA0KICAgICAgIHggPSAiTGVuZ3RoIiwNCiAgICAgICB5ID0gIldpZHRoIiwNCiAgICAgICBjYXB0aW9uID0gIlNvdXJjZTogSXJpcyBEYXRhc2V0IikgKw0KICB0aGVtZV9taW5pbWFsKCkgI3RyYW5zcGFyZW50L3doaXRlIGJhY2tncm91bmQNCmBgYA0KDQojIyMgTGVnZW5kIHBvc2l0aW9uDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCiNhZXM9ZXhpcw0KI2dlb21fcG9pbnQgZm9yIHNjYXR0ZXIgcGxvdA0KZ2dwbG90KGlyaXMsIGFlcyh4ID0gc2VwYWwubGVuZ3RoLCB5ID0gc2VwYWwud2lkdGgsIGNvbG9yID0gdmFyaWV0eSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMikgKw0KICAjTmFtaW5nIHNob3VsZCBiZSBhY2NvcmRpbmcgdG8gdGhlIGRhdGFzZXQNCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXMgPSBjKCJTZXRvc2EiID0gImJsdWUiLCAiVmVyc2ljb2xvciIgPSAicmVkIiwgIlZpcmdpbmljYSIgPSAiZ3JlZW4iKSkgKw0KICBsYWJzKHRpdGxlID0gIlNjYXR0ZXJwbG90IHVzaW5nIGdncGxvdDIiLA0KICAgICAgIHggPSAiTGVuZ3RoIiwNCiAgICAgICB5ID0gIldpZHRoIiwNCiAgICAgICBjYXB0aW9uID0gIlNvdXJjZTogSXJpcyBEYXRhc2V0IikgKw0KICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikNCmBgYA0KIyMjIFRleHQgY2hhbmdlDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCiNhZXM9ZXhpcw0KI2dlb21fcG9pbnQgZm9yIHNjYXR0ZXIgcGxvdA0KZ2dwbG90KGlyaXMsIGFlcyh4ID0gc2VwYWwubGVuZ3RoLCB5ID0gc2VwYWwud2lkdGgsIGNvbG9yID0gdmFyaWV0eSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMikgKw0KICAjTmFtaW5nIHNob3VsZCBiZSBhY2NvcmRpbmcgdG8gdGhlIGRhdGFzZXQNCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXMgPSBjKCJTZXRvc2EiID0gImJsdWUiLCAiVmVyc2ljb2xvciIgPSAicmVkIiwgIlZpcmdpbmljYSIgPSAiZ3JlZW4iKSkgKw0KICBsYWJzKHRpdGxlID0gIlNjYXR0ZXJwbG90IHVzaW5nIGdncGxvdDIiLA0KICAgICAgIHggPSAiTGVuZ3RoIiwNCiAgICAgICB5ID0gIldpZHRoIiwNCiAgICAgICBjYXB0aW9uID0gIlNvdXJjZTogSXJpcyBEYXRhc2V0IikgKw0KICANCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gImJvdHRvbSIsDQogICAgICAgIHRleHQgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiYmxhY2siLCBzaXplID0gMTApLA0KICAgICAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJibHVlIiwgc2l6ZSA9IDkpLA0KICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJyZWQiLCBzaXplID0gOSkNCiAgICAgICAgKQ0KYGBgDQojIyMgSW1hZ2UgcXVhbGl0eSBtb2RpZmljYXRpb24NCg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQojYWVzPWV4aXMNCiNnZW9tX3BvaW50IGZvciBzY2F0dGVyIHBsb3QNCnNjYXR0ZXJfcGxvdCA9IGdncGxvdChpcmlzLCBhZXMoeCA9IHNlcGFsLmxlbmd0aCwgeSA9IHNlcGFsLndpZHRoLCBjb2xvciA9IHZhcmlldHkpKSArDQogIGdlb21fcG9pbnQoc2l6ZSA9IDIpICsNCiAgI05hbWluZyBzaG91bGQgYmUgYWNjb3JkaW5nIHRvIHRoZSBkYXRhc2V0DQogIHNjYWxlX2NvbG91cl9tYW51YWwodmFsdWVzID0gYygiU2V0b3NhIiA9ICJibHVlIiwgIlZlcnNpY29sb3IiID0gInJlZCIsICJWaXJnaW5pY2EiID0gImdyZWVuIikpICsNCiAgbGFicyh0aXRsZSA9ICJTY2F0dGVycGxvdCB1c2luZyBnZ3Bsb3QyIiwNCiAgICAgICB4ID0gIkxlbmd0aCIsDQogICAgICAgeSA9ICJXaWR0aCIsDQogICAgICAgY2FwdGlvbiA9ICJTb3VyY2U6IElyaXMgRGF0YXNldCIpICsNCiAgDQogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJib3R0b20iLA0KICAgICAgICB0ZXh0ID0gZWxlbWVudF90ZXh0KGNvbG9yID0gImJsYWNrIiwgc2l6ZSA9IDEwKSwNCiAgICAgICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoY29sb3IgPSAiYmx1ZSIsIHNpemUgPSA5KSwNCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAicmVkIiwgc2l6ZSA9IDkpDQogICAgICAgICkNCnNjYXR0ZXJfcGxvdA0KI3NhdmUgYXMgYSB2YXJpYWJsZQ0KZ2dzYXZlKCJzY2F0dGVyX3Bsb3RfNTAwZHBpLnBuZyIsIGRwaSA9IDUwMCkNCmBgYA0KIyMjIFBsb3QgYXMgYSBWYXJpYWJsZQ0KYGBge3J9DQpzY2F0dGVyX3Bsb3QNCmBgYA0KIyMgQm94cGxvdA0KDQpgYGB7cn0NCmJveF9wbG90ID0gZ2dwbG90KGlyaXMsIGFlcyh4ID0gdmFyaWV0eSwgeSA9IHNlcGFsLmxlbmd0aCwgZmlsbCA9IHZhcmlldHkpKSArDQogICNmaWxsIGZvciBkZWZhdWx0IGNvbG9yIA0KICAjYWVzIGZvZSBheGlzDQpnZW9tX2JveHBsb3QoKSArDQogIGxhYnModGl0bGUgPSAiQm94cGxvdCB1c2luZyBnZ3Bsb3QyIiwNCiAgICAgICB4ID0gIkNsYXNzIiwNCiAgICAgICB5ID0gIkxlbmd0aCIpICsNCiAgDQogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJyaWdodCIsDQogICAgICAgIHRleHQgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiYmxhY2siLCBzaXplID0gMTApLA0KICAgICAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJibHVlIiwgc2l6ZSA9IDkpLA0KICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJyZWQiLCBzaXplID0gOCkpDQogIGJveF9wbG90DQojc2F2ZSBhcyBhIHZhcmlhYmxlDQpnZ3NhdmUoImJveF9wbG90XzUwMGRwaS5wbmciLCBkcGkgPSA1MDApDQojaGVyZSB0aGUgZG90IHNpZ24gaXMgYSBvdXRsaWVyDQpgYGANCiMjIyBBcyBhIHZhcmlhYmxlDQpgYGB7cn0NCmJveF9wbG90DQpgYGANCg0K