#1. Memplot Data dalam R (Scatter Plot) - Halaman 35-39 ##Membaca data dan menampilkan data

simpan=read.table("data3.1.csv",header=TRUE, sep=",") #membaca data
simpan
##    jeniskelamin pendapatan pengeluaran
## 1     laki-laki          1         0.5
## 2     laki-laki          2         0.9
## 3     laki-laki          3         1.1
## 4     laki-laki          4         2.0
## 5     laki-laki          5         4.0
## 6     laki-laki          6         5.0
## 7     laki-laki          7         6.2
## 8     laki-laki          8         5.5
## 9     laki-laki          9         5.8
## 10    laki-laki         10         4.5
## 11    perempuan          1         0.7
## 12    perempuan          2         1.4
## 13    perempuan          3         2.8
## 14    perempuan          4         3.3
## 15    perempuan          5         4.3
## 16    perempuan          6         5.0
## 17    perempuan          7         6.7
## 18    perempuan          8         5.9
## 19    perempuan          9         5.7
## 20    perempuan         10         8.0

##Membuat Scatter Plot dasar dengan judul:Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan Rupiah

plot(simpan[2:3], main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan Rupiah")

##Memplot data dengan menentukan variabel sumbu X dan Y secara eksplisit:

Pendapatan = simpan$pendapatan
Pengeluaran = simpan$pengeluaran
plot(Pendapatan, Pengeluaran)

##Membuat Scatter Plot menggunakan package ggplot2 (fungsi qplot):

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
PENDAPATAN = simpan$pendapatan
PENGELUARAN = simpan$pengeluaran
qplot(PENDAPATAN, PENGELUARAN, main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan", xlab = "Pendapatan per-Bulan", ylab = "Pengeluaran per-Bulan")
## Warning: `qplot()` was deprecated in ggplot2 3.4.0.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

##Scatter plot pendapatan dan pengeluaran berdasarkan jenis kelamin menggunakan qplot()

library(ggplot2)
jenis = simpan$jeniskelamin
qplot(PENDAPATAN, PENGELUARAN, main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan", xlab = "PENDAPATAN",  ylab = "PENGELUARAN", color = jenis, shape = jenis)

##Scatter plot pendapatan dan pengeluaran yang dilengkapi dengan garis linier (regresi) menggunakan geom_smooth()

library(ggplot2)
ggplot(simpan, aes(pendapatan, pengeluaran)) + geom_point()

ggplot(simpan, aes(pendapatan, pengeluaran)) +geom_point(aes(color = jenis, shape = jenis))

##Kustomisasi warna dan bentuk poin secara manual pada ggplot

grafik = ggplot(simpan, aes(pendapatan, pengeluaran)) + geom_point(aes(color = jenis, shape = jenis))

grafik + scale_colour_manual(values = c("blue", "orange"))

grafik + scale_shape_manual(values = c(16, 5))

grafik + scale_colour_manual(values = c("blue", "orange")) + scale_shape_manual(values = c(5, 5))

##Membagi panel grafik berdasarkan jenis kelamin menggunakan facet_grid

grafik + facet_grid(. ~ jeniskelamin)

grafik + facet_grid(. ~ jeniskelamin) + 
  scale_colour_manual(values = c("blue", "orange"))

##Menambahkan garis acuan vertikal dan horizontal pada grafik

# Garis vertikal di x = 2.5
grafik + geom_vline(xintercept = 2.5)

# Beberapa garis vertikal
grafik + geom_vline(xintercept = 2.5) + geom_vline(xintercept = 5)

grafik + geom_vline(xintercept = 1.5)

grafik + geom_vline(xintercept = c(2.5, 5, 7.5))

# Garis vertikal dengan tipe putus-putus berwarna hijau
grafik + geom_vline(xintercept = c(2.5, 5, 7.5), colour = "green", linetype = "longdash")

# Gabungan garis vertikal dan horizontal
grafik + geom_vline(xintercept = c(2.5, 5, 7.5), colour = "green", linetype = "longdash") + geom_hline(yintercept = c(2, 4, 6), colour = "red", linetype = "longdash")

#Menyajikan Data dengan Grafik Garis ##Membaca dan menyiapkan data grafik garis

simpan = read.table("data3.2.csv", header = TRUE, sep = ",") # membaca data
simpan
##   tahun jenis.barang.A jenis.barang.B jenis.barang.C
## 1  2001            100             80             50
## 2  2002            120             95             60
## 3  2003            110            110             70
## 4  2004            135            100             85
## 5  2005            150            130             90
## 6  2006            140            125            105
## 7  2007            165            140            120
Tahun = simpan$tahun
Jumlah_A = simpan$jenis.barang.A
Jumlah_B = simpan$jenis.barang.B
Jumlah_C = simpan$jenis.barang.C

Jumlah_A
## [1] 100 120 110 135 150 140 165
Jumlah_B
## [1]  80  95 110 100 130 125 140
Jumlah_C
## [1]  50  60  70  85  90 105 120

##Membuat grafik garis dasar sederhana untuk Jenis Barang A

plot(Tahun, Jumlah_A)

plot(Tahun, Jumlah_A, type = "o")

plot(Tahun, Jumlah_A, type = "o", col = "blue")

plot(Tahun, Jumlah_A, type = "o", col = "green")

##Menggabungkan beberapa garis barang (A, B, C) dalam satu plot

# Menggabungkan Barang A dan Barang B
plot(Tahun, Jumlah_A, type = "o", col = "red")
lines(Tahun, Jumlah_B, type = "o", col = "blue")

# Mengatur batas sumbu y (ylim)
plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(70, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")

# Menggabungkan Barang A, B, dan C
plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")

##Variasi bentuk poin (pch) dan tipe garis (lty) pada grafik garis

plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", pch = 22, lty = 2, col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")

plot(Tahun, Jumlah_A, type = "o", pch = 22, lty = 2, col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", pch = 22, lty = 2, col = "blue")
lines(Tahun, Jumlah_C, pch = 22, lty = 2, type = "o", col = "green")

plot(Tahun, Jumlah_A, type = "p", pch = 22, lty = 2, col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "p", pch = 22, lty = 2, col = "blue")
lines(Tahun, Jumlah_C, pch = 22, lty = 2, type = "p", col = "green")

plot(Tahun, Jumlah_A, type = "p", pch = 22, lty = 2, col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "p", pch = 22, lty = 2, col = "blue")
lines(Tahun, Jumlah_C, pch = 22, lty = 2, type = "l", col = "green")

##Menambahkan judul dan legenda pada grafik garis

plot.new()
plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")
title(main = "Data Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

Total = Jumlah_A
plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), cex = 0.8, col = c("red", "blue", "green"), pch = 21)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

##Variasi tipe garis pada grafik dan legenda

plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), lty = 23)
lines(Tahun, Jumlah_B, type = "s", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), lty = 23)
lines(Tahun, Jumlah_B, type = "l", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

##Modifikasi label dan posisi sumbu (Axis)

# Mengubah label sumbu horizontal di bagian bawah (side = 1)
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), xaxt = "n")
Axis(at = 2001:2007, side = 1, labels = c("A", "B", "C", "D", "E", "F", "G"))
lines(Tahun, Jumlah_B, type = "l", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), xaxt = "n")
Axis(at = 2001:2007, side = 1, labels = c("Tahun 1", "Tahun 2", "Tahun 3", "Tahun 4", "Tahun 5", "Tahun 6", "Tahun 7"))
lines(Tahun, Jumlah_B, type = "l", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

# Memindahkan posisi sumbu ke atas (side = 3)
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), xaxt = "n")
Axis(at = 2001:2007, side = 3, labels = c("Tahun 1", "Tahun 2", "Tahun 3", "Tahun 4", "Tahun 5", "Tahun 6", "Tahun 7"))
lines(Tahun, Jumlah_B, type = "l", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main = "red", font.main = 4)

#3. Menyajikan Data dengan Grafik Batang (Barplot) ##Membuat Grafik Batang dengan fungsi barplot dasar

simpan = read.table("data3.3.csv", header = TRUE, sep = ",") # membaca data
simpan
##   tahun jenis.barang.A
## 1  2001             90
## 2  2002            110
## 3  2003            115
## 4  2004            130
## 5  2005            140
## 6  2006            155
## 7  2007            160
Tahun = simpan$tahun
Jumlah_A = simpan$jenis.barang.A

# Barplot dasar
barplot(Jumlah_A, Tahun)

# Menambahkan Judul, Label Sumbu, dan Warna Bingkai (Border)
barplot(Jumlah_A, Tahun, main = "Penjualan Barang Jenis A dari Tahun 2001-2007", xlab = "Tahun", ylab = "Jumlah Barang yang Terjual", names.arg = c("2001", "2002", "2003", "2004", "2005", "2006", "2007"))

barplot(Jumlah_A, Tahun, main = "Penjualan Barang Jenis A dari Tahun 2001-2007", xlab = "Tahun", ylab = "Jumlah Barang yang Terjual", names.arg = c("2001", "2002", "2003", "2004", "2005", "2006", "2007"), border = "blue")

barplot(Jumlah_A, Tahun, main = "Penjualan Barang Jenis A dari Tahun 2001-2007", xlab = "Tahun", ylab = "Jumlah Barang yang Terjual", names.arg = c("2001", "2002", "2003", "2004", "2005", "2006", "2007"), border = "red")

# Menambahkan efek arsir (density)
barplot(Jumlah_A, Tahun, main = "Penjualan Barang Jenis A dari Tahun 2001-2007", xlab = "Tahun", ylab = "Jumlah Barang yang Terjual", names.arg = c("2001", "2002", "2003", "2004", "2005", "2006", "2007"), border = "green", density = c(10, 20, 30, 40, 50, 60, 70))

##Membuat Grafik Batang menggunakan ggplot2

library(ggplot2)

ggplot(data = simpan, aes(x = Tahun, y = Jumlah_A)) + geom_bar(stat = "identity")

ggplot(data = simpan, aes(x = Tahun, y = Jumlah_A)) + geom_bar(stat = "identity", fill = "darkblue")

ggplot(data = simpan, aes(x = Tahun, y = Jumlah_A)) + geom_bar(stat = "identity", fill = heat.colors(7))

##Membuat Grafik Batang dari Tabel Kontingensi/Matriks

simpan = read.table("data3.4.csv", header = TRUE, sep = ",") # membaca data
simpan
##   Jenis.Kelamin     Hobi Jumlah
## 1     Laki-Laki Olahraga     90
## 2     Laki-Laki  Memasak     10
## 3     Perempuan Olahraga     25
## 4     Perempuan  Memasak     75
# Barplot berdampingan (beside = TRUE) untuk Jenis Kelamin dan Hobi
frekuensi = c(90, 10, 25, 75)
barplot(t(matrix(frekuensi, ncol = 2, byrow = TRUE, dimnames = list(c("Laki-Laki", "Perempuan"), c("Olahraga", "Memasak")))),main = "Hubungan antara Jenis Kelamin dan Hobi", xlab = "Jenis Kelamin",col = c("darkblue", "orange"), beside = TRUE, ylim = c(0, 150),legend.text = TRUE,args.legend = list(x = "topright"))

# Barplot distribusi Nilai Mahasiswa
frekuensi2 = c(2, 12, 16, 8)
barplot(frekuensi2, ylim = c(0, 20), main = "Jumlah Mahasiswa yang Memperoleh Nilai A, B, C, dan D, untuk Matakuliah Matematika 1", names.arg = c("A", "B", "C", "D"), ylab = "Jumlah Mahasiswa",xlab = "Nilai Mahasiswa", cex.names = 0.8, col = c("green", "yellow", "orange", "red"))

##Membuat Grouped & Stacked Bar Plot menggunakan ggplot2

# Menyiapkan data frame
dat = data.frame(jenis_kelamin = factor(c("Laki-Laki", "Perempuan"), levels = c("Laki-Laki", "Perempuan")), total = c(20, 70))
dat
##   jenis_kelamin total
## 1     Laki-Laki    20
## 2     Perempuan    70
library(ggplot2)

# Barplot kategori tunggal
ggplot(data = dat, aes(x = jenis_kelamin, y = total)) + geom_bar(stat = "identity")

ggplot(data = dat, aes(x = jenis_kelamin, y = total, fill = jenis_kelamin)) + geom_bar(stat = "identity")

ggplot(data = dat, aes(x = jenis_kelamin, y = total, fill = jenis_kelamin)) + geom_bar(stat = "identity") + guides(fill = FALSE)
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

ggplot(data = dat, aes(x = jenis_kelamin, y = total, fill = jenis_kelamin)) + geom_bar(stat = "identity") + ylab("Jumlah Mahasiswa") + ggtitle("Universitas XYZ") + xlab("Jenis Kelamin")

# Stacked Bar Plot dengan label nilai
dat = data.frame(jenis_kelamin = factor(c("Laki-Laki", "Laki-Laki", "Perempuan", "Perempuan")),hobi = factor(c("Olahraga", "Memasak", "Olahraga", "Memasak"), levels = c("Olahraga", "Memasak")), total = c(80, 20, 40, 60))
dat
##   jenis_kelamin     hobi total
## 1     Laki-Laki Olahraga    80
## 2     Laki-Laki  Memasak    20
## 3     Perempuan Olahraga    40
## 4     Perempuan  Memasak    60
ggplot(data = dat, aes(x = hobi, y = total, fill = jenis_kelamin)) + geom_bar(stat = "identity") +xlab("Hobi Mahasiswa") + ylab("Jumlah Mahasiswa") + ggtitle("Universitas XYZ") +geom_text(aes(y = total/1.3, label = total), position = "stack")

# Grouped Bar Plot (position = position_dodge())
ggplot(data = dat, aes(x = hobi, y = total, fill = jenis_kelamin)) + geom_bar(stat = "identity", position = position_dodge()) + xlab("Hobi Mahasiswa") + ylab("Jumlah Mahasiswa") +ggtitle("Universitas XYZ")

ggplot(data = dat, aes(x = hobi, y = total, fill = jenis_kelamin)) + geom_bar(stat = "identity", position = position_dodge()) + xlab("Hobi Mahasiswa") + ylab("Jumlah Mahasiswa") +ggtitle("Universitas XYZ") + geom_text(aes(y = total/4, label = total), position = position_dodge(width = 1))

#4. Menyajikan Data dengan Diagram Lingkaran (Pie Chart) ##Membuat Diagram Lingkaran dasar

simpan = read.table("data3.5.csv", header = TRUE, sep = ",") # membaca data
simpan
##   Produk Jumlah
## 1      A     12
## 2      B      5
## 3      C      8
## 4      D     20
# Pie chart standar
pie(simpan$Jumlah, labels = simpan$Produk, main = "Data Penjualan Produk A, B, C, dan D")

# Pie chart dengan skema warna heat.colors
pie(simpan$Jumlah, labels = simpan$Produk, main = "Data Penjualan Produk A, B, C, dan D", col = heat.colors(4))

# Pie chart dengan angka dan legenda
pie(simpan$Jumlah, labels = simpan$Jumlah, main = "Data Penjualan Produk A, B, C, dan D", col = heat.colors(4))
colors = heat.colors(4)
legend(1, 0.5, c("Produk A", "Produk B", "Produk C", "Produk D"), cex = 0.8, fill = colors)

# Pie chart dengan warna kustom
pie(simpan$Jumlah, labels = simpan$Jumlah, main = "Data Penjualan Produk A, B, C, dan D", col = c("darkblue", "orange", "yellow", "red"))
colors = c("darkblue", "orange", "yellow", "red")
legend(1, 0.5, c("Produk A", "Produk B", "Produk C", "Produk D"), cex = 0.8, fill = colors)

##Membuat Diagram Lingkaran dengan Label Persentase

Persen = round(simpan$Jumlah/sum(simpan$Jumlah) * 100, 4)
Persen = paste(Persen, "%", sep = "")

pie(simpan$Jumlah, labels = Persen, main = "Data Penjualan Produk A, B, C, dan D", col = c("darkblue", "orange", "yellow", "red"))
colors = c("darkblue", "orange", "yellow", "red")
legend(1, 0.5, c("Produk A", "Produk B", "Produk C", "Produk D"), cex = 0.8, fill = colors)

##Membuat Diagram Lingkaran Menggunakan ggplot2 (coord_polar)

Jumlah = simpan$Jumlah
Produk = simpan$Produk

library(ggplot2)
library(grid)
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.5.3
# Diagram lingkaran dasar dengan ggplot2
pie = ggplot(simpan, aes(x = "", y = Jumlah, fill = Produk)) + geom_bar(width = 1, stat = "identity") + coord_polar("y", start = 0)
pie

# Mengatur tema latar belakang bersih (blank_theme)
blank_theme = theme(axis.title.x = element_blank(), axis.title.y = element_blank(), axis.text.x = element_blank(), axis.text.y = element_blank(), panel.border = element_blank(), panel.grid = element_blank(), axis.ticks = element_blank(), plot.title = element_text(size = 14, face = "bold"))

library(scales)
## Warning: package 'scales' was built under R version 4.5.2
# Pie chart ggplot2 dengan nilai jumlah
pie + blank_theme + geom_text(aes(y = Jumlah/4 + c(0, cumsum(Jumlah)[-length(Jumlah)]), label = Jumlah), size = 5)

# Pie chart ggplot2 dengan pewarnaan heat.colors
pie + blank_theme + geom_text(aes(y = Jumlah/4 + c(0, cumsum(Jumlah)[-length(Jumlah)]), label = Jumlah), size = 5) + scale_fill_manual(values = c(heat.colors(4)))

# Pie chart ggplot2 dengan label persentase
Persen = round(simpan$Jumlah/sum(simpan$Jumlah) * 100, 2)
Persen = paste(Persen, "%", sep = "")

pie + blank_theme + geom_text(aes(y = Jumlah/4 + c(0, cumsum(Jumlah)[-length(Jumlah)]), label = Persen), size = 5) + scale_fill_manual(values = c(heat.colors(4)))

#5. Menyajikan Data dengan Histogram ##Membuat Histogram Dasar menggunakan fungsi hist()

simpan = read.csv("IQ.csv", header = TRUE)
simpan
##     IQ
## 1   92
## 2   94
## 3   95
## 4   96
## 5   98
## 6   99
## 7  100
## 8  101
## 9  102
## 10 102
## 11 103
## 12 104
## 13 105
## 14 105
## 15 106
## 16 107
## 17 108
## 18 108
## 19 109
## 20 110
## 21 110
## 22 111
## 23 112
## 24 113
## 25 114
## 26 115
## 27 116
## 28 117
## 29 118
## 30 120
simpan_skor_IQ = simpan$IQ

# Histogram standar
hist(simpan_skor_IQ)

# Histogram dengan kustomisasi warna dan batas sumbu
hist(simpan_skor_IQ, col = "lightblue")

hist(simpan_skor_IQ, col = "darkblue", ylim = c(0, 40), main = "Contoh Histogram", ylab = "Frekuensi")

##Mengatur Interval Kelas (Breaks) pada Histogram

hist(simpan_skor_IQ, col = "orange", ylim = c(0, 40), main = "Contoh Histogram", ylab = "Frekuensi", breaks = c(90, 100, 110, 120))

hist(simpan_skor_IQ, col = heat.colors(6), ylim = c(0, 30), main = "Contoh Histogram", ylab = "Frekuensi", breaks = c(90, 95, 100, 105, 110, 115, 120), xlim = c(90, 125))

hist(simpan_skor_IQ, col = heat.colors(6), ylim = c(0, 30), main = "Contoh Histogram", ylab = "Frekuensi", breaks = c(90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120), xlim = c(90, 125))

hist(simpan_skor_IQ, breaks = 6, col = heat.colors(6), ylim = c(0, 30), main = "Contoh Histogram", ylab = "Frekuensi", xlim = c(90, 125))

# Histogram dengan lebar interval yang bervariasi
hist(simpan_skor_IQ, breaks = c(90, 117, 120), ylim = c(0, 50), xlim = c(90, 125), main = "Contoh Histogram", col = heat.colors(2))

hist(simpan_skor_IQ, breaks = c(90, 117, 120), ylim = c(0, 80), xlim = c(90, 125), main = "Contoh Histogram", col = heat.colors(2), freq = TRUE)
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'

hist(simpan_skor_IQ, breaks = c(90, 92, 97, 117, 120), ylim = c(0, 80), xlim = c(90, 125), main = "Contoh Histogram", col = heat.colors(4), freq = TRUE)
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'

##Membuat Histogram menggunakan ggplot2

library(ggplot2)

# Histogram ggplot2 sederhana
ggplot(data = simpan, aes(IQ)) + geom_histogram(breaks = c(90, 95, 100, 105, 110, 115, 120), col = "darkblue", fill = heat.colors(6))

# Histogram ggplot2 dengan gradien warna berdasarkan hitungan frekuensi
ggplot(data = simpan, aes(IQ)) + geom_histogram(breaks = c(90, 95, 100, 105, 110, 115, 120), col = "red", aes(fill = ..count..)) + labs(title = "Contoh Histogram") + labs(x = "IQ", y = "Jumlah") +xlim(c(90, 125)) + ylim(c(0, 20)) + scale_fill_gradient("count", low = "green", high = "red")
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

ggplot(data = simpan, aes(IQ)) + geom_histogram(breaks = c(90, 93, 96, 99, 102, 105, 111, 114, 115, 120), col = "darkblue", fill = heat.colors(9), aes(fill = ..count..)) + labs(title = "Contoh Histogram") + labs(x = "IQ", y = "Jumlah") + xlim(c(90, 125)) + ylim(c(0, 20)) + scale_fill_gradient("count", low = heat.colors(9), high = heat.colors(9))