ggplot

library(ggplot2)
suppressWarnings(suppressMessages(library(ggplot2)))
data(package="ggplot2")
dia=ggplot2::diamonds
str(dia)
## tibble [53,940 × 10] (S3: tbl_df/tbl/data.frame)
##  $ carat  : num [1:53940] 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
##  $ cut    : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
##  $ color  : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
##  $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
##  $ depth  : num [1:53940] 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
##  $ table  : num [1:53940] 55 61 65 58 58 57 57 55 61 61 ...
##  $ price  : int [1:53940] 326 326 327 334 335 336 336 337 337 338 ...
##  $ x      : num [1:53940] 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
##  $ y      : num [1:53940] 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
##  $ z      : num [1:53940] 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...

Point Plot (scatter plot)

plot1=ggplot(dia, aes(x=depth,y=clarity)) + 
  geom_point(size=2,shape=4,color="purple") 
plot1

plot2=plot1 +labs(title="depth vs clarity",
                  subtitle="From diamond dataset", 
                  y="depth", 
                  x="clarity")
plot2

plot3=plot2+
  theme(
    plot.title = element_text(color="red", size=14, 
                              face="bold.italic"),
    plot.subtitle = element_text(color="green4", size=12, 
                                 face="italic"),
    axis.title.x = element_text(color="blue", 
                                size=14, face="bold"),
    axis.title.y = element_text(color="brown",
                                size=14, face="bold"),
    plot.caption =  element_text(color="steelblue",
                                 size=14, face="italic"))
plot3

Box Plot

plot4=ggplot(dia, aes(y=depth)) + 
  geom_boxplot(color="purple3",fill="blue3")
plot4

Histogram

plot5=ggplot(dia, aes(depth)) + 
  geom_histogram(color="red3",
                 fill="green2")+
  labs(y="")
plot5
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Density Plot

plot6=ggplot(dia, aes(x=depth)) + 
  geom_density(color="yellow4",size=2)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
plot6

Histogram with Density Plot

ggplot(dia, aes(x=depth))+
  geom_histogram(aes(y = ..density..),
                 col="darkred",fill="limegreen",
                 position = "identity")+
  geom_density(col="pink",size = 2)
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Dot Plot

ggplot(dia, aes(x=depth)) +
  geom_dotplot(dotsize=0.5,color="darkblue",fill="lightblue")
## Bin width defaults to 1/30 of the range of the data. Pick better value with
## `binwidth`.

Area Plot

ggplot(dia, aes(depth))+
  geom_area(stat = "bin",color="black",fill='grey')
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

## Pie Chart

ggplot(dia,
       aes(x = "", fill = clarity) ) +
  geom_bar() +
  coord_polar(theta = "y") +
  scale_x_discrete("")+
  theme(axis.ticks=element_blank(),  
        axis.title=element_blank(),  
        axis.text.y=element_blank(),
        axis.text.x=element_blank(),
        panel.grid  = element_blank(),
        legend.position = "bottom")+
  labs(title = "CLARITY DISTRIBUTION")+
  theme_void()

Donut Chart

ggplot(dia,
       aes(x = 2, fill = clarity) ) +
  geom_bar() +
  coord_polar(theta = "y") +
  scale_x_discrete("")+
  theme(axis.ticks=element_blank(),  
        axis.title=element_blank(),  
        axis.text.y=element_blank(),
        axis.text.x=element_blank(),
        panel.grid  = element_blank(),
        legend.position = "bottom")+
  labs(title = "CLARITY DISTRIBUTION")+
  xlim(0,2.5)+
  theme_void()
## Scale for x is already present.
## Adding another scale for x, which will replace the existing scale.