Langkah 1/3: Membuat Data
Sebelum membuat grafik, kita perlu memiliki data yang sesuai. Dalam contoh ini, kita menggunakan data iris dari paket datasets R.
library(datasets)
data(iris)
df <- iris[, c("Sepal.Length", "Petal.Width")]
Langkah 2/3: Membuat Grafik
- Scatter plot of x and y variables
Kita akan membuat scatter plot dari data Sepal.Length dan Petal.Width dengan menggunakan paket ggplot2.
library(ggplot2)
scatterPlot <- ggplot(df, aes(x=Sepal.Length, y=Petal.Width)) +
geom_point() +
theme_classic()
scatterPlot
- Marginal density plot of x (top panel)
Kita juga akan membuat marginal density plot dari data Sepal.Length.
xdensity <- ggplot(df, aes(x=Sepal.Length, fill=Species)) +
geom_density(alpha=.5) +
scale_fill_manual(values = c("#999999", "#E69F00")) +
theme(legend.position = "none")
xdensity
- Marginal density plot of y (right panel)
Kita juga akan membuat marginal density plot dari data Petal.Width.
ydensity <- ggplot(df, aes(x=Petal.Width, fill=Species)) +
geom_density(alpha=.5) +
scale_fill_manual(values = c("#999999", "#E69F00")) +
theme(legend.position = "none")
ydensity
Langkah 3/3: Menggabungkan Grafik
Untuk menggabungkan grafik, kita akan menggunakan paket gridExtra. Install the package dengan cara berikut:
install.packages("gridExtra")
Kemudian, kita akan membuat blank placeholder plot dan menggabungkannya dengan plot lainnya.
blankPlot <- ggplot() +
geom_blank(aes(x=1, y=1)) +
theme(plot.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank()
)
Akhirnya, kita akan menggabungkan plot dengan menggunakan grid.arrange.
library(gridExtra)
grid.arrange(xdensity, blankPlot, scatterPlot, ydensity,
ncol=2, nrow=2, widths=c(4, 1.4), heights=c(1.4, 4))
Grafik Custom
Kita juga dapat membuat grafik yang lebih custom dengan menggunakan ggplot2. Contohnya, kita dapat membuat grafik scatter plot dengan warna dan bentuk yang berbeda untuk setiap grup.
p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
geom_point()+
geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
labs(title="Miles per gallon \n according to the weight",
x="Weight (lb/1000)", y = "Miles/(US) gallon")
p + theme_classic()
Kita juga dapat mengubah warna dengan manual menggunakan scale_color_manual.
p + scale_color_brewer(palette="Paired") + theme_classic()
Referensi
- R software (ver. 3.2.4)
- ggplot2 (ver. 2.1.0)