Visualization

  1. Bar
  2. Pie
  3. Line graph
  4. Box plot
  5. Different type of curves
  6. Heatmap
  7. scatter plot
  8. histogram
iris = read.csv("../datasets/iris.csv")
iris

Boxplot


library(ggplot2)

ggplot(data = iris, aes(x = variety, y=sepal.length, fill = variety)) + 
  geom_boxplot() + 
  scale_fill_manual(values = c("Setosa" = "orange", "Versicolor" = "purple", "Virginica" = "green"))+ # fix this later
  labs(title = "Box plot of Iris dataset", y = "Sepal Length", x = "Species") + 
  theme_minimal()

Violin plot

ggplot(data = iris, aes(x = variety, y=sepal.length, fill = variety)) + 
  geom_violin()+ 
  scale_fill_manual(values = c("Setosa" = "orange", "Versicolor" = "purple", "Virginica" = "green"))+ # fix this later
  labs(title = "Box plot of Iris dataset", y = "Sepal Length", x = "Species") + 
  theme_minimal()

ggplot(data = iris, aes(x = variety, y=sepal.length, color = variety)) + 
  geom_point() +
  scale_color_manual(values = c("Setosa" = "orange", "Versicolor" = "purple", "Virginica" = "green"))+ # fix this later
  theme_minimal()

ggplot(data = iris, aes(x = petal.length, y=sepal.length, color = variety)) + 
  geom_point() +
  theme_minimal()

ggplot(data = iris, aes(x = sepal.width, y=sepal.length, color = variety)) + 
  geom_point() +
  theme_minimal()

summary(iris)
  sepal.length    sepal.width     petal.length    petal.width      variety         
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   Length:150        
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   Class :character  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300   Mode  :character  
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199                     
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                     
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500                     
ggplot(data = iris, aes(x = variety, fill = variety) ) + 
  geom_bar() +
  theme_minimal()

ggplot(data = iris, aes(x = "", fill = variety)) + 
  geom_bar(stat = "count") + 
  coord_polar(theta = "y") + 
  theme_minimal()

Heat map

cor_mat = cor(iris[ ,1:4])
cor_mat
             sepal.length sepal.width petal.length petal.width
sepal.length    1.0000000  -0.1175698    0.8717538   0.8179411
sepal.width    -0.1175698   1.0000000   -0.4284401  -0.3661259
petal.length    0.8717538  -0.4284401    1.0000000   0.9628654
petal.width     0.8179411  -0.3661259    0.9628654   1.0000000
library(ggcorrplot)
ggcorrplot(cor_mat)

ggcorrplot(cor_mat, type="lower")

ggcorrplot(cor_mat, type="lower", lab = TRUE)

ggcorrplot(cor_mat, type="upper", lab = TRUE)

ggcorrplot(cor_mat, type="upper", lab = TRUE, colors = c("red", "white", "skyblue"))

time series data visulization - curve graph


time = seq(1, 150)
time
  [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28
 [29]  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56
 [57]  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84
 [85]  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112
[113] 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
[141] 141 142 143 144 145 146 147 148 149 150
iris = cbind(iris, time)
iris
ggplot(iris, aes(x = time, y = sepal.length, color = variety)) + 
  geom_line() +
  theme_minimal()

time50 = seq(1, 50)
time150 = c(time50, time50, time50)
time150
  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
 [38] 38 39 40 41 42 43 44 45 46 47 48 49 50  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 [75] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50  1  2  3  4  5  6  7  8  9 10 11
[112] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
[149] 49 50
iris = cbind(iris, time150)
iris
ggplot(iris, aes(x = time150, y = sepal.length, color = variety)) + 
  geom_line() +
  theme_minimal()

ggplot(iris, aes(x = sepal.length)) + 
  geom_histogram(fill = "lightblue", color="black", binwidth = 0.5)

library(GGally)

ggpairs(iris[ , 1:5], aes(color=variety))

iris_violin =   ggplot(data = iris, aes(x = variety, y=sepal.length, fill = variety)) + 
  geom_violin()+ 
  labs(title = "Box plot of Iris dataset", y = "Sepal Length", x = "Species") + 
  theme_minimal()

iris_violin

library(plotly)

ggplotly(iris_violin)
scatter_iris = ggplot(data = iris, aes(x = sepal.width, y=sepal.length, color = variety)) + 
  geom_point() +
  theme_minimal()


ggplotly(scatter_iris)
line_iris = ggplot(iris, aes(x = time, y = sepal.length, color = variety)) + 
  geom_line() +
  theme_minimal()

ggplotly(line_iris)

chord diagram

global map plot

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCgojIyBWaXN1YWxpemF0aW9uIAoxLiBCYXIKMi4gUGllCjMuIExpbmUgZ3JhcGgKNC4gQm94IHBsb3QKNS4gRGlmZmVyZW50IHR5cGUgb2YgY3VydmVzCjYuIEhlYXRtYXAKNy4gc2NhdHRlciBwbG90CjguIGhpc3RvZ3JhbQoKYGBge3J9CmlyaXMgPSByZWFkLmNzdigiLi4vZGF0YXNldHMvaXJpcy5jc3YiKQppcmlzCmBgYAoKIyMjIEJveHBsb3QKYGBge3J9CgpsaWJyYXJ5KGdncGxvdDIpCgpnZ3Bsb3QoZGF0YSA9IGlyaXMsIGFlcyh4ID0gdmFyaWV0eSwgeT1zZXBhbC5sZW5ndGgsIGZpbGwgPSB2YXJpZXR5KSkgKyAKICBnZW9tX2JveHBsb3QoKSArIAogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoIlNldG9zYSIgPSAib3JhbmdlIiwgIlZlcnNpY29sb3IiID0gInB1cnBsZSIsICJWaXJnaW5pY2EiID0gImdyZWVuIikpKyAjIGZpeCB0aGlzIGxhdGVyCiAgbGFicyh0aXRsZSA9ICJCb3ggcGxvdCBvZiBJcmlzIGRhdGFzZXQiLCB5ID0gIlNlcGFsIExlbmd0aCIsIHggPSAiU3BlY2llcyIpICsgCiAgdGhlbWVfbWluaW1hbCgpCgpgYGAKCiMjIyBWaW9saW4gcGxvdAoKYGBge3J9CmdncGxvdChkYXRhID0gaXJpcywgYWVzKHggPSB2YXJpZXR5LCB5PXNlcGFsLmxlbmd0aCwgZmlsbCA9IHZhcmlldHkpKSArIAogIGdlb21fdmlvbGluKCkrIAogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoIlNldG9zYSIgPSAib3JhbmdlIiwgIlZlcnNpY29sb3IiID0gInB1cnBsZSIsICJWaXJnaW5pY2EiID0gImdyZWVuIikpKyAjIGZpeCB0aGlzIGxhdGVyCiAgbGFicyh0aXRsZSA9ICJCb3ggcGxvdCBvZiBJcmlzIGRhdGFzZXQiLCB5ID0gIlNlcGFsIExlbmd0aCIsIHggPSAiU3BlY2llcyIpICsgCiAgdGhlbWVfbWluaW1hbCgpCmBgYAoKCmBgYHtyfQpnZ3Bsb3QoZGF0YSA9IGlyaXMsIGFlcyh4ID0gdmFyaWV0eSwgeT1zZXBhbC5sZW5ndGgsIGNvbG9yID0gdmFyaWV0eSkpICsgCiAgZ2VvbV9wb2ludCgpICsKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYygiU2V0b3NhIiA9ICJvcmFuZ2UiLCAiVmVyc2ljb2xvciIgPSAicHVycGxlIiwgIlZpcmdpbmljYSIgPSAiZ3JlZW4iKSkrICMgZml4IHRoaXMgbGF0ZXIKICB0aGVtZV9taW5pbWFsKCkKYGBgCgpgYGB7cn0KZ2dwbG90KGRhdGEgPSBpcmlzLCBhZXMoeCA9IHBldGFsLmxlbmd0aCwgeT1zZXBhbC5sZW5ndGgsIGNvbG9yID0gdmFyaWV0eSkpICsgCiAgZ2VvbV9wb2ludCgpICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCgoKYGBge3J9CmdncGxvdChkYXRhID0gaXJpcywgYWVzKHggPSBzZXBhbC53aWR0aCwgeT1zZXBhbC5sZW5ndGgsIGNvbG9yID0gdmFyaWV0eSkpICsgCiAgZ2VvbV9wb2ludCgpICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCgpgYGB7cn0Kc3VtbWFyeShpcmlzKQpgYGAKCmBgYHtyfQpnZ3Bsb3QoZGF0YSA9IGlyaXMsIGFlcyh4ID0gdmFyaWV0eSwgZmlsbCA9IHZhcmlldHkpICkgKyAKICBnZW9tX2JhcigpICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCgpgYGB7cn0KZ2dwbG90KGRhdGEgPSBpcmlzLCBhZXMoeCA9ICIiLCBmaWxsID0gdmFyaWV0eSkpICsgCiAgZ2VvbV9iYXIoc3RhdCA9ICJjb3VudCIpICsgCiAgY29vcmRfcG9sYXIodGhldGEgPSAieSIpICsgCiAgdGhlbWVfbWluaW1hbCgpCmBgYAoKCgojIyMgSGVhdCBtYXAKCmBgYHtyfQpjb3JfbWF0ID0gY29yKGlyaXNbICwxOjRdKQpjb3JfbWF0CmBgYAoKYGBge3J9CmxpYnJhcnkoZ2djb3JycGxvdCkKZ2djb3JycGxvdChjb3JfbWF0KQpgYGAKCmBgYHtyfQpnZ2NvcnJwbG90KGNvcl9tYXQsIHR5cGU9Imxvd2VyIikKYGBgCgoKYGBge3J9CmdnY29ycnBsb3QoY29yX21hdCwgdHlwZT0ibG93ZXIiLCBsYWIgPSBUUlVFKQpgYGAKCmBgYHtyfQpnZ2NvcnJwbG90KGNvcl9tYXQsIHR5cGU9InVwcGVyIiwgbGFiID0gVFJVRSkKYGBgCgoKYGBge3J9CmdnY29ycnBsb3QoY29yX21hdCwgdHlwZT0idXBwZXIiLCBsYWIgPSBUUlVFLCBjb2xvcnMgPSBjKCJyZWQiLCAid2hpdGUiLCAic2t5Ymx1ZSIpKQpgYGAKCgoKIyMjIHRpbWUgc2VyaWVzIGRhdGEgdmlzdWxpemF0aW9uIC0gY3VydmUgZ3JhcGgKCmBgYHtyfQoKdGltZSA9IHNlcSgxLCAxNTApCnRpbWUKCmlyaXMgPSBjYmluZChpcmlzLCB0aW1lKQppcmlzCmBgYAoKCmBgYHtyfQpnZ3Bsb3QoaXJpcywgYWVzKHggPSB0aW1lLCB5ID0gc2VwYWwubGVuZ3RoLCBjb2xvciA9IHZhcmlldHkpKSArIAogIGdlb21fbGluZSgpICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCgpgYGB7cn0KdGltZTUwID0gc2VxKDEsIDUwKQp0aW1lMTUwID0gYyh0aW1lNTAsIHRpbWU1MCwgdGltZTUwKQp0aW1lMTUwCgoKaXJpcyA9IGNiaW5kKGlyaXMsIHRpbWUxNTApCmlyaXMKYGBgCgoKYGBge3J9CmdncGxvdChpcmlzLCBhZXMoeCA9IHRpbWUxNTAsIHkgPSBzZXBhbC5sZW5ndGgsIGNvbG9yID0gdmFyaWV0eSkpICsgCiAgZ2VvbV9saW5lKCkgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCgoKYGBge3J9CmdncGxvdChpcmlzLCBhZXMoeCA9IHNlcGFsLmxlbmd0aCkpICsgCiAgZ2VvbV9oaXN0b2dyYW0oZmlsbCA9ICJsaWdodGJsdWUiLCBjb2xvcj0iYmxhY2siLCBiaW53aWR0aCA9IDAuNSkKYGBgCgoKCmBgYHtyfQpsaWJyYXJ5KEdHYWxseSkKCmdncGFpcnMoaXJpc1sgLCAxOjVdLCBhZXMoY29sb3I9dmFyaWV0eSkpCmBgYAoKCgoKCgpgYGB7cn0KaXJpc192aW9saW4gPSAgIGdncGxvdChkYXRhID0gaXJpcywgYWVzKHggPSB2YXJpZXR5LCB5PXNlcGFsLmxlbmd0aCwgZmlsbCA9IHZhcmlldHkpKSArIAogIGdlb21fdmlvbGluKCkrIAogIGxhYnModGl0bGUgPSAiQm94IHBsb3Qgb2YgSXJpcyBkYXRhc2V0IiwgeSA9ICJTZXBhbCBMZW5ndGgiLCB4ID0gIlNwZWNpZXMiKSArIAogIHRoZW1lX21pbmltYWwoKQoKaXJpc192aW9saW4KYGBgCgoKYGBge3J9CmxpYnJhcnkocGxvdGx5KQoKZ2dwbG90bHkoaXJpc192aW9saW4pCmBgYAoKCgpgYGB7cn0Kc2NhdHRlcl9pcmlzID0gZ2dwbG90KGRhdGEgPSBpcmlzLCBhZXMoeCA9IHNlcGFsLndpZHRoLCB5PXNlcGFsLmxlbmd0aCwgY29sb3IgPSB2YXJpZXR5KSkgKyAKICBnZW9tX3BvaW50KCkgKwogIHRoZW1lX21pbmltYWwoKQoKCmdncGxvdGx5KHNjYXR0ZXJfaXJpcykKYGBgCgoKYGBge3J9CmxpbmVfaXJpcyA9IGdncGxvdChpcmlzLCBhZXMoeCA9IHRpbWUsIHkgPSBzZXBhbC5sZW5ndGgsIGNvbG9yID0gdmFyaWV0eSkpICsgCiAgZ2VvbV9saW5lKCkgKwogIHRoZW1lX21pbmltYWwoKQoKZ2dwbG90bHkobGluZV9pcmlzKQpgYGAKCgoKIyMgY2hvcmQgZGlhZ3JhbQojIyBnbG9iYWwgbWFwIHBsb3QK