Menyajikan Data dalam Grafik

#Membaca data

simpan = read.table("data3.1.csv", header = TRUE, sep = ";")
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
plot(simpan[2:3], main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan Rupiah")

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

library(ggplot2)

PENDAPATAN = simpan$pendapatan
PENGELUARAN = simpan$pengeluaran

# Menggunakan qplot()
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 every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

jenis = simpan$jeniskelamin

# Berdasarkan warna
qplot(PENDAPATAN, PENGELUARAN, main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan",
      xlab = "Pendapatan", ylab = "Pengeluaran", color = jenis)

# Berdasarkan warna dan bentuk simbol
qplot(PENDAPATAN, PENGELUARAN, main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan",
      xlab = "PENDAPATAN", ylab = "PENGELUARAN", color = jenis, shape = jenis)

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

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

# Menyimpan dasar grafik ke dalam objek
grafik = ggplot(simpan, aes(pendapatan, pengeluaran)) + 
  geom_point(aes(color = jenis, shape = jenis))

# Mengubah warna manual
grafik + scale_colour_manual(values = c("blue", "orange"))

# Mengubah bentuk poin/simbol manual
grafik + scale_shape_manual(values = c(16, 5))

# Menggabungkan penyesuaian warna dan bentuk
grafik + scale_colour_manual(values = c("blue", "orange")) + 
  scale_shape_manual(values = c(5, 5))

# Memisah grafik berdasarkan jenis kelamin (facet grid)
grafik + facet_grid(. ~ jeniskelamin)

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

# Menambahkan garis vertikal (geom_vline)
grafik + geom_vline(xintercept = 2.5)

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))

grafik + geom_vline(xintercept = c(2.5, 5, 7.5), colour = "green", linetype = "longdash")

# Menambahkan garis vertikal dan horizontal (geom_hline)
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

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

Jumlah_A
## [1]  90 110 115 130 140 155 160
Jumlah_B
## [1]  85  90 105 110 120 125 130
Jumlah_C
## [1] 50 55 60 65 75 80 85
# Plot dasar
plot(Tahun, Jumlah_A)

# Menghubungkan titik dengan garis (type = "o")
plot(Tahun, Jumlah_A, type = "o")

# Mengubah warna garis
plot(Tahun, Jumlah_A, type = "o", col = "blue")

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

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

# Menambahkan garis kedua (Jumlah_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")

# Menambahkan garis ketiga (Jumlah_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 jenis garis (lty)
plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", pch = 22, col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")

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, type = "o", pch = 22, lty = 2, 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, type = "p", pch = 22, lty = 2, col = "green")

plot(Tahun, Jumlah_A, type = "l", 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, type = "p", pch = 22, lty = 2, col = "green")

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 = "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)

# Mengganti label sumbu horizontal bawaan
Total = Jumlah_A
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)

# Menghapus label sumbu x
Total = Jumlah_A
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), xaxt = "n")
Axis(at = 2001:2007, side = 1, labels = c("", "", "", "", "", "", ""))
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)

# Mengganti label sumbu x menjadi "Tahun 1" hingga "Tahun 7"
Total = Jumlah_A
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 label sumbu ke bagian atas grafik (side = 3)
Total = Jumlah_A
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)

Menyajikan Data dengan Grafik Batang (Bagian Pertama)

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(Jumlah_A, names.arg=Tahun)

barplot(Jumlah_A, 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, main="Penjualan Barang Jenis A dari Tahun 2001-2007", xlab="Tahun",
        ylab="Jumlah Barang yang Terjual", names.arg=Tahun)

barplot(Jumlah_A, 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, 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")

barplot(Jumlah_A, 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))

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))

Menyajikan Data dengan Grafik Batang (Bagian Kedua)

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
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"))

frekuensi2=c(2,12,16,6)
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") )

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)
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="none")

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")

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) )

Menyajikan Data dengan Diagram Lingkaran

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(simpan$Jumlah,labels=simpan$Produk, main="Data Penjualan Produk A, B, C, dan D")

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

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(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 )

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 )

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 )

library(ggplot2)
library(scales)

Jumlah = simpan$Jumlah
Produk = simpan$Produk

pie = ggplot(simpan, aes(x="", y=Jumlah, fill=Produk)) +
  geom_bar(width=1, stat="identity") +
  coord_polar("y", start=0)

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()
)

pie + blank_theme + 
  geom_text(aes(y = Jumlah/2 + c(0, cumsum(Jumlah)[-length(Jumlah)]), label = Jumlah), size = 5)

library(ggplot2)
library(grid)

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

Jumlah = simpan$Jumlah
Produk = simpan$Produk

pie = ggplot(simpan, aes(x="", y=Jumlah, fill=Produk)) +
  geom_bar(width=1, stat="identity") +
  coord_polar("y", start=0)

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()
)

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

simpan=read.csv("IQ.csv", header=TRUE)
simpan
##     IQ
## 1  111
## 2  111
## 3  111
## 4  111
## 5  111
## 6  111
## 7  111
## 8  110
## 9  110
## 10 110
## 11 110
## 12 110
## 13 110
## 14 110
## 15 112
## 16 112
## 17 112
## 18 112
## 19 112
## 20 112
## 21 112
## 22 113
## 23 113
## 24 113
## 25 113
## 26 113
## 27 114
## 28 114
## 29 114
## 30 114
## 31 115
## 32 115
## 33 115
## 34 116
## 35 116
## 36 117
## 37  90
## 38  91
## 39  92
## 40  92
## 41  93
## 42  93
## 43  93
## 44  94
## 45  94
## 46  94
## 47  94
## 48  95
## 49  95
## 50  95
## 51  95
## 52  95
## 53  95
## 54  96
## 55  96
## 56  96
## 57  96
## 58  97
## 59  97
## 60  97
## 61  97
## 62  97
## 63  98
## 64  98
## 65  98
## 66 101
## 67 101
## 68 101
## 69 102
## 70 102
## 71 103
## 72 104
## 73 103
## 74 102
## 75 108
## 76 109
## 77 118
simpan_skor_IQ=simpan$IQ
hist(simpan_skor_IQ)

hist(simpan_skor_IQ, col="lightblue")

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

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) )

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'

library(ggplot2)

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