select a particular class
setosa_data = iris[iris$variety == 'Setosa', ]
setosa_data
setosa_data_sl_5 = setosa_data[setosa_data$sepal.length >= 5.0, ]
setosa_data_sl_5
setosa_data_sl_5_pl_15 = setosa_data_sl_5[setosa_data_sl_5$petal.length >= 1.5, ]
setosa_data_sl_5_pl_15
setosa_data_sl_5_pl_15 = setosa_data_sl_5_pl_15[ , c(1, 3, 4, 5)]
setosa_data_sl_5_pl_15
iris
Plot
Scatter plot
plot(iris$sepal.length, iris$sepal.width)

variety_color = as.numeric(factor(iris$variety))
plot(iris$sepal.length, iris$sepal.width,
col = variety_color,
pch = 3,
cex = 2,
xlim = c(2, 10),
ylim = c(1, 6),
xlab = substitute(paste(bold("Sepal Length"))) ,
ylab = "Sepal Width",
main = "Visualization of Sepal Length and Sepal Width",
col.main = 'blue',
col.axis = 'red',
col.lab = 'green',
cex.main = 1.5,
cex.axis = 2,
cex.lab = 1.5,
)

Line plot
exam_score = data.frame(
ID = c(1, 2, 3, 4, 5),
Name = c("Alice", "Bob", "David", "John", "Jenny"),
Age = c(20, 25, 30, 22, 18),
score = c(100, 78, 90, 55, 81)
)
plot(exam_score$ID, exam_score$score, type = "l")

hist(iris$sepal.width, main = "Histogram plot", xlab = "Sepal Length", col = "blue")

boxplot(iris$sepal.length, ylab = 'length' , xlab='Sepal', main='Box plot', col = 'red')

boxplot(iris$petal.length, ylab = 'length' , xlab='Sepal', main='Box plot', col = 'red')

GGPLOT
library(ggplot2)
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
geom_point(size = 2)

Color set
library(ggplot2)
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
geom_point(size = 2) +
scale_color_manual(values = c("Setosa" = "blue", "Versicolor" = "pink", "Virginica" = "purple"))

label
library(ggplot2)
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
geom_point(size = 2) +
scale_color_manual(values = c("Setosa" = "blue", "Versicolor" = "pink", "Virginica" = "purple")) +
labs(title = "This plot is created using ggplot",
x = "Length",
y = "Width",
caption = "Source: Iris dataset")

NA
Theme
library(ggplot2)
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
geom_point(size = 2) +
scale_color_manual(values = c("Setosa" = "blue", "Versicolor" = "pink", "Virginica" = "purple")) +
labs(title = "This plot is created using ggplot",
x = "Length",
y = "Width",
caption = "Source: Iris dataset") +
theme_minimal()

NA
NA
NA
NA
Legend position
library(ggplot2)
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
geom_point(size = 2) +
scale_color_manual(values = c("Setosa" = "blue", "Versicolor" = "pink", "Virginica" = "purple")) +
labs(title = "This plot is created using ggplot",
x = "Length",
y = "Width",
caption = "Source: Iris dataset") +
theme(
legend.position = "top", # top, left, right, bottom
)

NA
Text
library(ggplot2)
ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
geom_point(size = 2) +
scale_color_manual(values = c("Setosa" = "blue", "Versicolor" = "pink", "Virginica" = "purple")) +
labs(title = "This plot is created using ggplot",
x = "Length",
y = "Width",
caption = "Source: Iris dataset") +
theme(
legend.position = "top", # top, left, right, bottom
text = element_text(colour = 'black', size = 15),
axis.text.x = element_text(color = "blue", size = 16),
axis.text.y = element_text(color = "red", size = 12)
)

NA
Image save
library(ggplot2)
scatter_plot = ggplot(iris, aes(x = sepal.length, y = sepal.width, color = variety)) +
geom_point(size = 2) +
scale_color_manual(values = c("Setosa" = "blue", "Versicolor" = "pink", "Virginica" = "purple")) +
labs(title = "This plot is created using ggplot",
x = "Length",
y = "Width",
caption = "Source: Iris dataset") +
theme(
legend.position = "top", # top, left, right, bottom
text = element_text(colour = 'black', size = 15),
axis.text.x = element_text(color = "blue", size = 16),
axis.text.y = element_text(color = "red", size = 12)
)
scatter_plot
ggsave("scatter_plot_500dpi.png", plot=scatter_plot, dpi = 500)
Saving 7.29 x 4.51 in image

Boxplot
ggplot(data = iris, aes(x= variety, y = sepal.length, fill = variety)) +
geom_boxplot() +
labs(title = "This plot is created using ggplot",
x = "Class",
y = "Sepal Length",
caption = "Source: Iris dataset")

LS0tCnRpdGxlOiAiQ2xhc3MgMyIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQKICBwZGZfZG9jdW1lbnQ6IGRlZmF1bHQKLS0tCgpgYGB7cn0KIyBkb3dubG9hZCBkYXRhCiMgdW56aXAgZGF0YXNldAojIGNvcHkgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5CiMgbG9hZCBkYXRhCgppcmlzID0gcmVhZC5jc3YoJ2lyaXMuY3N2JykKaXJpcwpgYGAKCiMjIHNlbGVjdCBhIHBhcnRpY3VsYXIgY2xhc3MKYGBge3J9CnNldG9zYV9kYXRhID0gaXJpc1tpcmlzJHZhcmlldHkgPT0gICdTZXRvc2EnLCBdCnNldG9zYV9kYXRhCmBgYAoKYGBge3J9CnNldG9zYV9kYXRhX3NsXzUgPSBzZXRvc2FfZGF0YVtzZXRvc2FfZGF0YSRzZXBhbC5sZW5ndGggPj0gNS4wLCBdCnNldG9zYV9kYXRhX3NsXzUKYGBgCgpgYGB7cn0Kc2V0b3NhX2RhdGFfc2xfNV9wbF8xNSA9IHNldG9zYV9kYXRhX3NsXzVbc2V0b3NhX2RhdGFfc2xfNSRwZXRhbC5sZW5ndGggPj0gMS41LCBdCnNldG9zYV9kYXRhX3NsXzVfcGxfMTUKYGBgCgoKYGBge3J9CnNldG9zYV9kYXRhX3NsXzVfcGxfMTUgPSBzZXRvc2FfZGF0YV9zbF81X3BsXzE1WyAsIGMoMSwgMywgNCwgNSldCnNldG9zYV9kYXRhX3NsXzVfcGxfMTUKYGBgCgoKYGBge3J9CmlyaXMKYGBgCiMgUGxvdAoKIyMgU2NhdHRlciBwbG90CmBgYHtyfQpwbG90KGlyaXMkc2VwYWwubGVuZ3RoLCBpcmlzJHNlcGFsLndpZHRoKQpgYGAKCmBgYHtyfQp2YXJpZXR5X2NvbG9yID0gYXMubnVtZXJpYyhmYWN0b3IoaXJpcyR2YXJpZXR5KSkKcGxvdChpcmlzJHNlcGFsLmxlbmd0aCwgaXJpcyRzZXBhbC53aWR0aCwKICAgICBjb2wgPSB2YXJpZXR5X2NvbG9yLAogICAgIAogICAgIHBjaCA9IDMsCiAgICAgY2V4ID0gMiwKICAgICAKICAgICB4bGltID0gYygyLCAxMCksCiAgICAgeWxpbSA9IGMoMSwgNiksCiAgICAgCiAgICAgeGxhYiA9IHN1YnN0aXR1dGUocGFzdGUoYm9sZCgiU2VwYWwgTGVuZ3RoIikpKSAsCiAgICAgeWxhYiA9ICJTZXBhbCBXaWR0aCIsCiAgICAgCiAgICAgbWFpbiA9ICJWaXN1YWxpemF0aW9uIG9mIFNlcGFsIExlbmd0aCBhbmQgU2VwYWwgV2lkdGgiLAogICAgIAogICAgIGNvbC5tYWluID0gJ2JsdWUnLAogICAgIGNvbC5heGlzID0gJ3JlZCcsCiAgICAgY29sLmxhYiA9ICdncmVlbicsCiAgICAgCiAgICAgY2V4Lm1haW4gPSAxLjUsCiAgICAgY2V4LmF4aXMgPSAyLAogICAgIGNleC5sYWIgPSAxLjUKICAgICkKYGBgCgojIyBMaW5lIHBsb3QKYGBge3J9CgpleGFtX3Njb3JlID0gZGF0YS5mcmFtZSgKICBJRCA9IGMoMSwgMiwgMywgNCwgNSksCiAgTmFtZSA9IGMoIkFsaWNlIiwgIkJvYiIsICJEYXZpZCIsICJKb2huIiwgIkplbm55IiksCiAgQWdlID0gYygyMCwgMjUsIDMwLCAyMiwgMTgpLAogIHNjb3JlID0gYygxMDAsIDc4LCA5MCwgNTUsIDgxKQopCgoKcGxvdChleGFtX3Njb3JlJElELCBleGFtX3Njb3JlJHNjb3JlLCB0eXBlID0gImwiKQpgYGAKCgpgYGB7cn0KaGlzdChpcmlzJHNlcGFsLndpZHRoLCBtYWluID0gIkhpc3RvZ3JhbSBwbG90IiwgeGxhYiA9ICJTZXBhbCBMZW5ndGgiLCBjb2wgPSAiYmx1ZSIpCmBgYAoKCgpgYGB7cn0KYm94cGxvdChpcmlzJHNlcGFsLmxlbmd0aCwgeWxhYiA9ICdsZW5ndGgnICwgeGxhYj0nU2VwYWwnLCBtYWluPSdCb3ggcGxvdCcsIGNvbCA9ICdyZWQnKQpib3hwbG90KGlyaXMkcGV0YWwubGVuZ3RoLCB5bGFiID0gJ2xlbmd0aCcgLCB4bGFiPSdTZXBhbCcsIG1haW49J0JveCBwbG90JywgY29sID0gJ3JlZCcpCmBgYAoKCiMgR0dQTE9UCgpgYGB7cn0KbGlicmFyeShnZ3Bsb3QyKQoKZ2dwbG90KGlyaXMsIGFlcyh4ID0gc2VwYWwubGVuZ3RoLCB5ID0gc2VwYWwud2lkdGgsIGNvbG9yID0gdmFyaWV0eSkpICsKICBnZW9tX3BvaW50KHNpemUgPSAyKSAKCmBgYAoKCgojIyBDb2xvciBzZXQKYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKCmdncGxvdChpcmlzLCBhZXMoeCA9IHNlcGFsLmxlbmd0aCwgeSA9IHNlcGFsLndpZHRoLCBjb2xvciA9IHZhcmlldHkpKSArCiAgZ2VvbV9wb2ludChzaXplID0gMikgKyAKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYygiU2V0b3NhIiA9ICJibHVlIiwgIlZlcnNpY29sb3IiID0gInBpbmsiLCAiVmlyZ2luaWNhIiA9ICJwdXJwbGUiKSkgCmBgYAoKCgoKIyMgbGFiZWwKYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKCmdncGxvdChpcmlzLCBhZXMoeCA9IHNlcGFsLmxlbmd0aCwgeSA9IHNlcGFsLndpZHRoLCBjb2xvciA9IHZhcmlldHkpKSArCiAgZ2VvbV9wb2ludChzaXplID0gMikgKyAKICAKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYygiU2V0b3NhIiA9ICJibHVlIiwgIlZlcnNpY29sb3IiID0gInBpbmsiLCAiVmlyZ2luaWNhIiA9ICJwdXJwbGUiKSkgKwogIAogIGxhYnModGl0bGUgPSAiVGhpcyBwbG90IGlzIGNyZWF0ZWQgdXNpbmcgZ2dwbG90IiwKICAgICAgIHggPSAiTGVuZ3RoIiwKICAgICAgIHkgPSAiV2lkdGgiLAogICAgICAgY2FwdGlvbiA9ICJTb3VyY2U6IElyaXMgZGF0YXNldCIpCiAgCmBgYAoKIyMgVGhlbWUKYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKCmdncGxvdChpcmlzLCBhZXMoeCA9IHNlcGFsLmxlbmd0aCwgeSA9IHNlcGFsLndpZHRoLCBjb2xvciA9IHZhcmlldHkpKSArCiAgZ2VvbV9wb2ludChzaXplID0gMikgKyAKICAKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYygiU2V0b3NhIiA9ICJibHVlIiwgIlZlcnNpY29sb3IiID0gInBpbmsiLCAiVmlyZ2luaWNhIiA9ICJwdXJwbGUiKSkgKwogIAogIGxhYnModGl0bGUgPSAiVGhpcyBwbG90IGlzIGNyZWF0ZWQgdXNpbmcgZ2dwbG90IiwKICAgICAgIHggPSAiTGVuZ3RoIiwKICAgICAgIHkgPSAiV2lkdGgiLAogICAgICAgY2FwdGlvbiA9ICJTb3VyY2U6IElyaXMgZGF0YXNldCIpICsgCiAgCiAgdGhlbWVfbWluaW1hbCgpICN0cmFuc3BhcmVudC93aGl0ZSBiYWNrZ3JvdW5kCiAgCmBgYAoKIyMgTGVnZW5kIHBvc2l0aW9uCmBgYHtyfQpsaWJyYXJ5KGdncGxvdDIpCgpnZ3Bsb3QoaXJpcywgYWVzKHggPSBzZXBhbC5sZW5ndGgsIHkgPSBzZXBhbC53aWR0aCwgY29sb3IgPSB2YXJpZXR5KSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIpICsgCiAgCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoIlNldG9zYSIgPSAiYmx1ZSIsICJWZXJzaWNvbG9yIiA9ICJwaW5rIiwgIlZpcmdpbmljYSIgPSAicHVycGxlIikpICsKICAKICBsYWJzKHRpdGxlID0gIlRoaXMgcGxvdCBpcyBjcmVhdGVkIHVzaW5nIGdncGxvdCIsCiAgICAgICB4ID0gIkxlbmd0aCIsCiAgICAgICB5ID0gIldpZHRoIiwKICAgICAgIGNhcHRpb24gPSAiU291cmNlOiBJcmlzIGRhdGFzZXQiKSArIAogIAogIHRoZW1lKAogICAgbGVnZW5kLnBvc2l0aW9uID0gInRvcCIsICMgdG9wLCBsZWZ0LCByaWdodCwgYm90dG9tCiAgKQogIApgYGAKCiMjIFRleHQKYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKCmdncGxvdChpcmlzLCBhZXMoeCA9IHNlcGFsLmxlbmd0aCwgeSA9IHNlcGFsLndpZHRoLCBjb2xvciA9IHZhcmlldHkpKSArCiAgZ2VvbV9wb2ludChzaXplID0gMikgKyAKICAKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYygiU2V0b3NhIiA9ICJibHVlIiwgIlZlcnNpY29sb3IiID0gInBpbmsiLCAiVmlyZ2luaWNhIiA9ICJwdXJwbGUiKSkgKwogIAogIGxhYnModGl0bGUgPSAiVGhpcyBwbG90IGlzIGNyZWF0ZWQgdXNpbmcgZ2dwbG90IiwKICAgICAgIHggPSAiTGVuZ3RoIiwKICAgICAgIHkgPSAiV2lkdGgiLAogICAgICAgY2FwdGlvbiA9ICJTb3VyY2U6IElyaXMgZGF0YXNldCIpICsgCiAgCiAgdGhlbWUoCiAgICBsZWdlbmQucG9zaXRpb24gPSAidG9wIiwgIyB0b3AsIGxlZnQsIHJpZ2h0LCBib3R0b20KICAgIHRleHQgPSBlbGVtZW50X3RleHQoY29sb3VyID0gJ2JsYWNrJywgc2l6ZSA9IDE1KSwKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGNvbG9yID0gImJsdWUiLCBzaXplID0gMTYpLAogICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAicmVkIiwgc2l6ZSA9IDEyKQogICkKICAKYGBgCgojIyBJbWFnZSBzYXZlCmBgYHtyfQoKbGlicmFyeShnZ3Bsb3QyKQoKc2NhdHRlcl9wbG90ID0gZ2dwbG90KGlyaXMsIGFlcyh4ID0gc2VwYWwubGVuZ3RoLCB5ID0gc2VwYWwud2lkdGgsIGNvbG9yID0gdmFyaWV0eSkpICsKICBnZW9tX3BvaW50KHNpemUgPSAyKSArIAogIAogIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXMgPSBjKCJTZXRvc2EiID0gImJsdWUiLCAiVmVyc2ljb2xvciIgPSAicGluayIsICJWaXJnaW5pY2EiID0gInB1cnBsZSIpKSArCiAgCiAgbGFicyh0aXRsZSA9ICJUaGlzIHBsb3QgaXMgY3JlYXRlZCB1c2luZyBnZ3Bsb3QiLAogICAgICAgeCA9ICJMZW5ndGgiLAogICAgICAgeSA9ICJXaWR0aCIsCiAgICAgICBjYXB0aW9uID0gIlNvdXJjZTogSXJpcyBkYXRhc2V0IikgKyAKICAKICB0aGVtZSgKICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJ0b3AiLCAjIHRvcCwgbGVmdCwgcmlnaHQsIGJvdHRvbQogICAgdGV4dCA9IGVsZW1lbnRfdGV4dChjb2xvdXIgPSAnYmxhY2snLCBzaXplID0gMTUpLAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoY29sb3IgPSAiYmx1ZSIsIHNpemUgPSAxNiksCiAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJyZWQiLCBzaXplID0gMTIpCiAgKQoKc2NhdHRlcl9wbG90CgpnZ3NhdmUoInNjYXR0ZXJfcGxvdF81MDBkcGkucG5nIiwgcGxvdD1zY2F0dGVyX3Bsb3QsIGRwaSA9IDUwMCkKYGBgCiMgQm94cGxvdAoKYGBge3J9CmdncGxvdChkYXRhID0gaXJpcywgYWVzKHg9IHZhcmlldHksIHkgPSBzZXBhbC5sZW5ndGgsIGZpbGwgPSB2YXJpZXR5KSkgKyAKICBnZW9tX2JveHBsb3QoKSArCiAgbGFicyh0aXRsZSA9ICJUaGlzIHBsb3QgaXMgY3JlYXRlZCB1c2luZyBnZ3Bsb3QiLAogICAgICAgeCA9ICJDbGFzcyIsCiAgICAgICB5ID0gIlNlcGFsIExlbmd0aCIsCiAgICAgICBjYXB0aW9uID0gIlNvdXJjZTogSXJpcyBkYXRhc2V0IikKYGBgCgo=