Cara membuat plot banyak garis di ggplot2 (dengan contoh)


Anda dapat menggunakan sintaks dasar berikut untuk memplot beberapa baris di ggplot2:

 ggplot(df, aes(x=x_var, y=y_var)) + 
  geom_line(aes(color=group_var)) +
  scale_color_manual(name=' legend_title ', labels=c(' lab1 ', ' lab2 ', ' lab3 '),
                     values=c(' color1 ', ' color2 ', ' color3 '))

Sintaks khusus ini membuat plot di ggplot2 dengan tiga baris.

Sintaks ini mengasumsikan bahwa bingkai data Anda dalamformat yang panjang .

Contoh berikut menunjukkan cara memplot banyak baris di ggplot2 dalam praktiknya.

Contoh: memplot banyak baris di ggplot2

Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang jumlah penjualan yang dilakukan di tiga toko berbeda pada lima hari berbeda:

 #create data frame
df <- data. frame (day=c(1, 2, 3, 4, 5),
                 storeA=c(5, 6, 8, 8, 9),
                 storeB=c(3, 3, 4, 5, 7),
                 storeC=c(8, 10, 12, 12, 17))

#view data frame
df

  day storeA storeB storeC
1 1 5 3 8
2 2 6 3 10
3 3 8 4 12
4 4 8 5 12
5 5 9 7 17

Bingkai data ini saat ini dalam format lebar.

Namun, kita dapat menggunakan fungsi pivot_longer() dari paket Tidyr untuk mengonversi data ke format panjang dengan cepat:

 library (tidyr)

#convert data from wide to long format
df <- df %>% pivot_longer(cols=c(' storeA ', ' storeB ', ' storeC '),
                          names_to=' store ',
                          values_to=' sales ')

#view updated data frame
df

# A tibble: 15 x 3
     day store sales
      
 1 1 blindA 5
 2 1 storeB 3
 3 1 blindC 8
 4 2 blindA 6
 5 2 storeB 3
 6 2 storeC 10
 7 3 storeA 8
 8 3 storeB 4
 9 3 storeC 12
10 4 storeA 8
11 4 storeB 5
12 4 storeC 12
13 5 storeA 9
14 5 storeB 7
15 5 storeC 17

Terkait: Pengantar pivot_longer() di R

Sekarang bingkai datanya dalam format panjang, kita dapat menggunakan sintaks berikut dengan ggplot2 untuk memplot penjualan setiap toko:

 library (ggplot2)

#plot sales by store
ggplot(df, aes(x=day, y=sales)) + 
  geom_line(aes(color=store)) +
  scale_color_manual(name=' Store ', labels=c(' A ', ' B ', ' C '),
values=c(' red ', ' purple ', ' steelblue '))

Baris individual menampilkan penjualan yang dilakukan di setiap toko setiap hari.

Perhatikan bahwa kita menggunakan fungsi scale_color_manual() untuk membuat legenda khusus di sisi kanan plot agar garis lebih mudah diinterpretasikan.

Jangan ragu untuk memodifikasi argumen pada fungsi ini untuk membuat legenda yang muncul persis seperti yang Anda inginkan.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di ggplot2:

Cara memplot mean dan deviasi standar di ggplot2
Cara menambahkan garis horizontal ke plot menggunakan ggplot2
Cara menggambar garis tren di ggplot2

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *