FACEGRID CUSTOM PROJECTION MENGGUNAKAN GGPLOT & SEABORN
Selasa, 26 Januari 2016
2
komentar
FACEGRID CUSTOM PROJECTION
MENGGUNAKAN GGPLOT & SEABORN
Disusun oleh :
Ardy Vrilyan
Dimas Eka Yanu S.
Gifary Kuswanto
Lingga Ramadhani
Lucky Alfian F.
Kata Pengantar
Puji Syukur kehadirat Allah Swt atas
segala limpahan rahmat dan karunianya sehingga buku (Facegrid dengan Custom
Projection Menggunakan GGPLOT dan Seaborn) dapat diselesaikan. Buku ini ditulis
guna melengkapi syarat penilaian mata kuliah Softskill, yang mana softskill
adalah istilah sosialogis yang berkaitan dengan kecerdasan emosional, sifat
kepribadian, keterampilan sosial, komunikasi, berbahasa, kebiasaan pribadi,
keramahan dan optimisme yang mencirikan kemampuan seseorang dalam berhubungan
dengan orang lain dan maka dari itu kita dapat menyusun buku ini dengan baik
dengan harapan dapat meningkatkan interaksi individu kinerja pekerjaan dan
prospek karir.
Terima kasih disampaikan kepada
Bapak I Made Wiryna, SSI, SKom, MSc karena dengan menyusun buku inilah kami
dapat meningkatkan kecerdasan emosional kami dengan cara saling berinteraksi
satu sama lain dalam proses penyusunannya. Kami menyadari masih terdapat
kekurangan dalam penulisan buku ini untuk itu kritik dan saran terhadap
penyempurnaan buku ini sangat diharapkan. Semoga buku ini dapat memberikan
manfaat bagi mahasiswa FTI UG khususnya dan bagi semua pihak yang membutuhkan.
Daftar Isi
Kata
Pengantar
Daftar
Isi
BAB 1
Pendahuluan
Pengenalan GGPLOT
2
Pengenalan
Seaborn
BAB 2. Konsep
GGPLOT
Penggunaan
Dasar
Warna, Ukuran, Bentuk dan Atribut Estetika
Lainnya
Plot GEOMS
Box Plots and Jittered
Points
Bar Charts
Facetting1
Perbedaan dari Plot
Seaborn
Pembahasan Facetgrid dalam Seaborn
BAB 3. Perangkat Lunak Untuk Pengaplikasian Facetgrid With
Custom Proojection
Instalasi GGPLOT
2
Instalasi Seaborn
BAB 4. Kasus Atau Contoh Pemanfaatan Perangkat
Lunak
Dataset
GPLOT2
Adding A Smoother To A Plot
Hitogram and Density
Plots
Time Series With Line and Path plots
Alternatif
Keseluruhan Data Ekonomi
Membangun
Scatterplot
Estetika Pemetaan Data
Penskalaan1
Plots yang Lebih
Kompleks
Komponen Dari Tata Bahasa Berlapis
Penskalaan
2
Sistem Koordinat
Facetting
2
Struktur Data
Source Code Pada
Seaborn
Penggunaan Seaborn
Detail
Penskalaan
Posisi Penskalaan
Lanjutan
Tanggal & Waktu
BAB 5.
Penutup
Daftar
Pustaka
Bab 1
Pendahuluan
Dalam penyusunan buku yang bertema
facetgrid with custom projection ini, penullis menggunakan 2 referensi yaitu
menggunakan metode ggplot2 dan seaborn. Pada pengaplikasiannya penulis
menggunakan bahasa pemrograman python. Pada seaborn penulis menggunakan package
numpy, scipy, matplotlib dan pandas di pengaplikasiannya pada python. FacetGrid
adalah obyek yang menghubungkan Pandas DataFrame untuk bentuk dari matplotlib
dengan struktur tertentu(pada seaborn). Secara khusus, FacetGrid digunakan
untuk menggambar plot dengan beberapa Axes dimana setiap Axes menunjukkan
hubungan yang sama dikondisikan pada tingkat yang berbeda dari beberapa
variabel. Ini mungkin untuk mengkondisikan pada hingga tiga variabel dengan
menetapkan variabel untuk baris dan kolom dari grid dan menggunakan warna yang
berbeda untuk elemen plot.
Pengenalan
GGPLOT2
Pada bagian ini akan belajar untuk
membuat berbagai macam plot dengan fungsi Anda pertama ggplot2, plot(), plot
singkat dan cepat. Ggplot memudahkan menghasilkan plot kompleks, sering Buku
ini memberikan pengenalan ggplot2 dengan banyak contoh kode dan grafis. Buku
ini juga menjelaskan tata bahasa ggplot2. Seperti sistem formal lainnya, ggplt2
berguna bahkan ketika Anda tidak mengerti model yang mendasari. Namun, semakin
Anda belajar tentang hal itu, Anda lebih efektif menggunakan ggplot2. Buku ini
mengasumsikan beberapa keakraban dasar dengan R ke tingkat yang dijelaskan
dalam bab pertama dari Dalgaard Pengantar Statistik dengan R. Anda harus tahu
bagaimana untuk mendapatkan data Anda ke R dan bagaimana melakukan manipulasi
data dasar. Jika Anda tidak melakukannya, Anda mungkin ingin mendapatkn salinan
Phil Spector Data Manipulation with R.
Buku ini akan memperkenalkan Anda
untuk ggplot2 sebagai pemula, yang tidak terbiasa dengan tata bahasa,
mengajarkan dasar-dasar sehinga Anda dapat membuat ulang plot Anda yang sudah
anda pahami menunjukkan kepada Anda bagaimana menggunakan tata bahasa untuk
menciptakan jenis baru grafis. Dan bahkan mengubah Anda menjadi seorang ahli
yang dapat membagun komponen baru untuk memperpanjang tata bahasa.
Wilkonson (2005) menciptakan
tatabahasa grafis untuk menggambarkan fitur dalam yang mendasari semua grafik
statistik. Tata bahasa berlapis grafis (Wickham,2009) dibangun di atas tata
bahasa Wilkinson, fokus pada keunggulan yang lapisan dan beradaptasi untuk
menambahkan dalam R. Secara singkat, tata bahasa memberi tahu kita bahwa grafis
statistik adalah pemetaan dari data atribut estetika (Warna, bentuk, ukuran)
dari objek geometris (titik, garis, bar). Plot mungkin juga mengandung
transformasi statistik dari data dan digambar pada sistem koordinasi. Faceting
dapat digunakan untuk menghasilkan plot yang sama untuk himpunan yang berbeda
pada bagian dataset. Ini adalah kombinasi dari koponen-komponen independen yang
membentuk grafik.
Sepanjang buku berlangsung tata
bahasa formal akan dijelaskan dalam meningkatkan rincian. Deskripsi pertama
dari komponen berikut memperkenalkan beberapa terminologi yang akan digunakan
di seluruh buku dan tanggung jawab dasar dari setiap komponen. Jangan khawatir
jika tidak segera dimengerti. Anda akan memiliki lebih banyak kesempatan untuk
belajr tentang semua potongan dan bagaimana mereka bisa bersatu.
Data yang ingin Anda visualisasikan
dan satu set pemetaan estetika yang menggambarkan bagaimana variabel dalam data
dipetakan ke atribut estetika.
Objek geometris ; geoms untuk jangka
pendek, mewakili apa yang sebenernya Anda lihat di plot ; titik, garis, poligon,
dll.
Transformasi statistik ; statistik
untuk jangka pendek, meringkas data dalam banitung pengamatan untuk membuat
histogram, atau meringkas hubungan 2D dengan model linier. Statistik adalah
opsional, tapi sangat berguna.
Timbangan memetakan nilai di ruang
data untuk nilai-nilai di ruang estetika, apakah itu warna, ukuran, atau
bentuk. Menggambar skala legenda atau sumbu, yang memberikan pemetaan terbalik
untuk memungkinkan untuk membaca data asli nilai-nilai dari grafik.
Sebuah sistem koordinat, coord untuk
jangka pendek menggambarkan bagamana koordinat data dipetakan pada bidang
grafis. Hal ini juga memberikan sumbu dan gridlines kemungkinan untuk membaca
grafik. Kami biasanya menggunakan koordinat Cartesian sistem, tetap sejumlah
orang lain yang tersedia, termasuk koordinat polar dan proyeksi peta.
Sebuah faceting kation spesifik
menjelaskan cara untuk memecah data ke dalam himpunan bagian dan bagaimana
menampilkan subset sebagai kelipatan kecil. Hal itu juga dikenal sebagai
latticing.
Penting juga ntuk membahas apa yang
grammar tidak dapat lakukan :
Itu tidak menyarankan apa grafis
yang harus Anda gunakan untuk menjawab pertanyaan yang anda inginkan. Buku ini
juga berusaha untuk mendukung proses yang masuk akal untuk membuat data plot,
fokus dari buku ini adalah bagaimana membuat plots yang Anda inginkan tanpa
mengetahui plot yang dibuat.
Ironisnya tata bahasa tidak
menjelaskan grafis harus seperti apa. Titik halus yang ditampilkan ; contoh
ukuran font, warna background yang tidak dijelaskan dalam tata bahasa. Pada
kenyataannya sistem plotting yang berguna harus menjelaskan hal-hal diatas.
Tidak menjelaskan iterasi tata
bahasa grafis hanya menjelaskan grafis statis dan pada dasarnya tidak ada yang
ditampikan pada komputer layar sebagai lawan pada selembar kertas. Ggplot2
hanya dapat membuat statis grafis, sehingga untuk grafis yang dinamis dan
interaktif Anda akan harus melihat di tempat lain. Masak dan Swayne (2007)
memberikan pengenalan yang sangat baik untuk paket grafis interaktif ggobi. Ggobi
dapat dihubungkan ke R dengan paket ggobi.
Seaborn
Seaborn adalah library untuk membuat grafik statistik yang
menarik dan informatif dengan Python. Hal ini dibangun di atas matplotlib dan
terintegrasi dengan Py Data stack, termasuk dukungan untuk numpy dan data panda
struktur dan rutinitas statistik dari scipy dan stats models
1.
Beberapa
fitur yang Seaborn tawarkan :
·
Beberapa
built-in tema yang memperbaiki estetika matplotlib standar
·
Alat
untuk memilih palet warna untuk membuat plot yang indah yang mengungkapkan pola
dalam data Anda
·
Fungsi
untuk memvisualisasikan distribusi univariat dan bivariat atau untuk
membandingkan mereka antara subset data
·
Alat
yang sesuai dan memvisualisasikan model regresi linier untuk berbagai jenis
variabel independen dan dependen
·
Fungsi
yang memvisualisasikan matriks data dan penggunaan pengelompokan algoritma
untuk menemukan struktur dalam matriks-matriks
·
Sebuah
fungsi untuk plot data time series statistik dengan estimasi fleksibel dan
representasi ketidakpastian sekitar estimasi
Abstraksi tingkat tinggi untuk grid penataan plot yang
memungkinkan Anda dengan mudah membangun visualisasi kompleks
Bab 2
Konsep
GGPLOT2
Pada bagian ini akan belajar untuk
membuat berbagai macam plot dengan fungsi Anda pertama ggplot2, plot(), plot
singkat dan cepat. Ggplot memudahkan menghasilkan plot kompleks, sering
membutuhkan beberapa baris kode menggunakan plotting lainnya sistem, dalam satu
baris. Qplot() dapat melakukan ini karena hal ini didasarkan pada tata bahasa
grafis, yang memungkinkan Anda untuk mebuat sederhana, namun ekspresif,
deskripsi plot. Dalam bab-bab selanjutnya Anda akan belajar untuk menggunakan
semua kekuatan ekspresif tata bahasa, tapi di sini kami akan mulai sehingga
Anda dapat bekerja dengan cara Anda. Kamu juga akan mulai belajar beberapa
terminologi ggplot2 yang akan digunakan seluruh buku. Qplot telah dirancang
untuk menjadi sangat mirip plot, yang seharusnya membuat mudah jika Anda sudah
akrab dengan merencanakan di R. Ingat, selama Anda bisa mendapatka ringkasan
dari semua argumen untuk qplot dengan R bantuan? Qplot.
Dalam buku ini akan membahas :
1. Penggunaan dasar qplot
2. Bagaimana untuk memetakan variabel
atribut etetika, seperti warna, ukuran dan bentuk
3. Cara membuat berbagai jenis plot
dengan menentukan geom berbeda
4. Penggunaan faceting, juga dikenal
sebagai jari-jari, pecah himpunan bagian dari data
5. Bagaimana untuk menyesuaikan
penampilat plit dengan menetapkan beberapa pilihan dasar
6. Beberapa perbedaan penting antara
plot() dan qplot()
Penggunaan Dasar
Seperti plot, pertama dua argumen
untuk qplot() adalah x dan y, memberika x dan y koordinat untuk benda-benda di
plot. Ada juga opsional argumen data. Jika ini adalah spesifik ed, ggplot()
akan melihat ke dalam frame data yang sebelum mencari benda-benda di ruang
kerja Anda. Menggunakan argumen data direkomendasikan : Itu ide yang baik untuk
menyimpan data terkait dalam bingkai data tunggal. Jika Anda tidak menentukan
satu, qlplot()akan mencoba untuk membangun satu untuk Anda dan mungkin terlihat
di tempat yang salah. Berikut ini adalah contoh sederhana dari penggunaan
qplot(). Ini menghasilkan sebuah sebar yang menunjukkan hubungan antara harga
dan karat (berat) dari berlian.
Plot menunjukkan korelasi yang kuat
dengan outlier terkenal dan beberapa pergoresan vertikal yang menarik. Hubungan
terlihat eksponensial, meskipun jadi hal pertama yang kita ingin lakukan adalah
untuk mengubah variabel. Karena qplot() menerima fungsi variabel sebagai
argumen, plot log (harga) vs log (karat).
Hubungan sekarang terlihat linier.
Dengan banyak overplotting ini, meskipun kita perlu berhati-hati tentang
menarik kesimpulan tegas. Argumen juga bisa kombinasi variabel yang ada,
sehingga jika kita ingin tahu tentang hubungan antara volume berlian (didekati
dengan x X y X z) dan berat, kita bisa melakukan hal berikut :
Kami harap kepadatan (berat/ volume)
berlian konstan, dan melihat hubungan linier antara volume dan berat. Mayoritas
berlian tampaknya jauth di sepanjang garis, tetapi ada beberapa outlier besar.
Warna, Ukuran, Bentuk, dan Atribut
Estetika Lainnya
Perbedaan besar pertama ketika
menggunakan ggplot bukan pot datang kerika Anda ingin menetapkan warna atau
ukuran atau bentuk untuk titiktitik pada plot Anda. Dengan plot, itu tanggung
jawab Anda untuk mengkonversi sebuah variabel kategoris dalam data ANda
(misalnya,”apel”, “pisang”, “pir”) menjadi sesuatu yang diketahui bagaimana
menggunakan (misalnya, “merah”, “kuning”, “hijau”). Qplot dapat melakukan ini
untuk Anda secara otomatis, dan secara otomatis akan memberikan sebuah legenda
yang memetakan atribut ditampilkan dengan nilai-nilai data. Hal ini membuat
mudah untuk memasukkan data tambahan pada plot. Pada contoh berikut, kita
menambahkan plot karat dan harga dengan informasi tentang warna berlian dan
dipotong.
Warna, ukuran dan bentuk merupakan
contoh atribut esteika visual sifat bahwa? dll cara pengamatan
ditampilkan.Untuk setiap atribut estetika, ada fungsi, yang disebut skala, yang
memetakan nilai data ke valid nilai untuk estetika yang. Ini adalah skala ini
yang mengontrol penampilan poin dan legenda yang terkait. Sebagai contoh, di
plot di atas, warna skala peta J untuk ungu dan F hijau. (Perhatikan bahwa
sementara saya menggunakan ejaan Inggris dalam buku ini, perangkat lunak juga
menerima ejaan Amerika. Anda juga dapat secara manual mengatur estetika
menggunakan I(), misalnya, warna = I (“merah”) atau size = I (2). Ini tidak
sama dengan pemetaan dan dijelaskan lebih rinci. untuk dataset besar, seperti
data berlian, semi-poin transparan sering berguna untuk mengurangi beberapa
overplotting tersebut. Untuk membuat warna semi-transparan anda dapat
menggunakan estetika alpha, yang mengambil nilai antara 0 (benar-benar
transparan) dan 1 (lengkap buram). Nya sering berguna untuk menentukan
transparansi sebagai fraksi, misalnya, 10/01 atau 20/01, sebagai yang spesifik
denominator es jumlah poin yang harus overplot untuk mendapatkan warna
benar-benar buram.
Jenis Dierent atribut estetika
berkerja lebih baik dengan berbagai jenis variable. Misalnya, warna dan bentuk
bekerja dengan baik dengan variabel kategori, sedangkan ukuran bekerja lebih
baik dengan variabel berkelanjutan. Jumlah data juga membuat perbedaan : jika
ada banyak data, seperti di plot di atas, dapat sulit untuk membedakan kelompok
derent. Sebuah solusi alternatif adalah dengan menggunakan faceting.
Plot GEOMS
Qplot tidak terbatas pada
scatterplots, tapi bisa menghasilkan hampir semua jenis plot dengan
memvariasikan GEOM tersebut. Geom, pendek untuk objek geometris, menggambarkan
jenis objek yang di gunakan untuk menampilkan data. Beberapa permata telah
menjadi terkait transformasi statistik, misalnya, histogram adalah statistik
Binning ditambah bar GEOM. Perbedaan komponen ini dijelaskan dalam bab
berikutnya. Disini kita akan memperkenalkan paling umum dan berguna geoms, yang
di selenggarakan oleh dimensi dari data yang mereka bekerja dengan. The Geoms
berikut memungkinkan anda untuk menyelidiki hubungan dua dimensi :
1. GEOM = “titik” menarik poin untuk
menghasilkan sebuah sebar. Ini adalah default ketika ada memasok kedua x dan y
argumen untuk qplot(). b
2. GEOM = “halus” ts halus untuk data
dan menampilkan halus dan kesalahan standar, x 2.5.1.
3. GEOM = “boxplot” menghasilkan plot
kotak-dan-kumis untuk meringkas distribusi satu set poin, x 2.5.2.
4. GEOM = “jalan” dan GEOM = “line”
menarik garis antara titik data.
Secara tradisional ini digunakan
untuk mengeksplorasi hubungan antara waktu dan variable lain, tapi garis dapat
digunakan untuk bergabung pengamatan terhubung dalam cara lain. Sebuah plot
garis dibatasi untuk menghasilkan garis yang melakukan perjalanan dari kiri ke
kanan, sementara jalur bisa pergi ke segala arah, x 2.5.5. Untuk distribusi 1d,
pilihan anda GEOM dipandu oleh jenis variabel :
·
Untuk
variabel kontinu, GEOM = “Histogram” menarik histogram, GEOM =”Freqpoly”
poligon frekuensi, dan GEOM = “Density” menciptakan densitas plot, x 2.5.3.
Histogram GEOM adalah default ketika anda hanya memasok xnilai qplot().
·
Untuk
variabel diskrit, GEOM = “Bar” membuat bar chart, x 2.5.4.
Box Plots and Jittered Points
Ketika sebuah set data termasuk
sebuah kategori variabel dan satu atau lebih variabel kontinu, Anda mungkin
akan menjadi tertarik untuk tahu bagaimana nilai pada variabel kontinu
bervariasi dengan level kategori variabel. Box plots dan poin jitter menawarkan
dua cara untuk melakukannya. (gamarbar sekian) mengeksplorasi bagaimana
distribusi harga per karat bervariasi dengan tiap warna berlian yang
menggunakan jitter (geom = “jitter”, kiri) dan box dan whisker plot (geom =
“boxplot”, kanan).
Setiap metode punya kelebihan dan
kekurangan. Boxplots meringkas kumpulan dari distribusi dengan hanya 5 angka,
ketika plot telah di goyangkan menunjukkan setiap poin tetapi dapat menderita
overplotting. Di dalam contoh disini, setiap plot menunjukkan ketergantungan
harga per karat pada warna berlian, tetapi boxplots lebih informatif,
Indikasikan disana ada sedikit perubahan di median dan kuartil adjasensi.
Overplotting terlihat di dalam
kegoyangan nilai plot dapat di ringankan dengan menggunakan semi-transparan
poin yang di gunakan argumen alpha. (Gambar sekian) illustrasi 3 perbedaan
level transparansi, dimana itu membuat lebih mudah untuk melihat dimana ada
angka terbesar. Plot di dapat dengan mengikuti Kode.
qplot(warna, harga / karat, data =
berlian, geom = “kegoyangan”, alpha = I(1 / 5))
qplot(warna, harga / karat, data =
berlian, geom = “kegoyangan”, alpha = I(1 / 50))
qplot(warna,
harga / karat, data = berlian, geom = “kegoyangan”, alpha = I(1 / 200))
Teknik ini tidak dapat di
menunjukkan posisi baik kuartil maupun boxplot yang dapat, tetapi itu dapat
memperlihatkan fitur yang lain pada distribusi yang boxplot tidak dapat.
Pada kegoyangan Poin, qplot
menawarkan kontrol yang sama di atas estetika sebagai dimana normal sebaran
plot: ukuran, warna dan bentuk. Pada boxplot anda dapat mengkontrol warna garis
tepi, dalamnya juga di penuhi warna dan ukuran garis.
Cara lain untuk melihat kondisi
distribusi adalah dengan menggunakan penitikan ke plot sebuah histogram
terpisah atau densitas plot pada setiap nilai dari kategori variabel.
Bar Charts
Analog yang berlainan pada histogram
adalah bar chart, geoms = “bar”. Menghitung angka pada instansi setiap kelas
jadi Anda tidak perlu untuk mentabulasi nilai Anda sebelumnya, seperti dengan R
besar adalah bar chart. Jika data telah selesai ditabulasi atau jika Anda suka
untuk mentabulasi anggota kelas dibeberapa cara lain, seperti dengan
penjumlahan sebuah variabel kontinu, Anda dapat menggunakan weight geom. Ini
adalah ilustrasi di dalam figur 2.13. Plot pertama adalah bar chart yang
sederhana pada warna berlian dan yang kedua adalah bar chart yang warna
berliannya diberati oleh karat.
qplot(color,
data = diamonds, geoms = “bar”)
qplot(color, data = diamonds, geoms
= “bar”, weight = carat) + scale_y_continuous(“carat”)
Facetting 1
Kita sudah dapat diskusi menggunakan
estetika (warna dan bentuk) untuk membandingkan subgroup-subgroup berikutnya,
Menggambar semua group pada plot yang sama. Facetting memiliki alternatif untuk
memunculkannya ; ia membuat tabel dari grafik dengan memisahkan data menjadi
sub-sub data dan menampilkan grafik yang sama di setiap sub data dalam sebuah
aransemen yang fasilitas itu banding.
Secara default facetting menggunakan
method di qplot() membuat plot yang disusun dalam koordinat yang spesifik
dengan formula facetting yang terlihat seperti row_var ~ col_var. Anda dapat
spesifikasikan sebanyak baris dan kolom variabel sesuka Anda, perlu diingat
bahwa menggunakan lebih dari dua variabel akan sering memunculkan produk sebuah
plot yang besar dan itu slit untuk dilihat di layar. Untuk facetting terdapat
hanya pada satu kolom atau baris, gunakan titik sebagai tempat untuk menahan.
Sebagai contoh, row_var ~. akan membuat satu kolom dengan banyak baris.
set histogram pertama menunjukkan distribusi
kondisi karat pada warna. Set yang kedua pada historam menunjukkan proporsi,
membuatnya lebih mudah untuk membandingkan distribusi yang relatif melimpah
pada berlian di setiap warnanya. Sekarang sintaks densitasnya bar. Sumbu y pada
histogram tidak masuk pada original data tetapi dari statistik transformasi
yang dihitung oleh angka observasi disetiap bin. Penggunaan densitas
diberitahukan ggplot2 untuk memetakan densitas ke dalam sumbu y ketimbang
default yaitu digunakan untuk menghitung.
qplot(carat,
data = diamonds, facets = color ~., geom = “histogram”, binwidth = 0.1, xlim = c(0, 3))
qplot(carat,
..density.., data = diamonds, facets = color ~ ., geom = “histogram”, binwidth = 0.1, clim = c(0, 3))
Perbedaan dari Plot
Ada beberapa perbedaan yang penting
antara plot dan qplot :
·
qplot
bukan generik : Anda tidak dapat melewati segala tipe dari objek R ke qplot dan
mengharapkan perbedaan dari plot awal. Ingat, bagaimanapun ggplot() itu adalah
generik, dan mungkin menyediakan sebuah titik awal untuk membuat visualisasi
yang berubah pada objek R.
·
Biasanya
Anda akan menyuplai sebuah variabel ke atribut estetika yang Anda suka. Ini
kemudian diubah ukurannya yang ditampilkan dengan legenda. Jika Anda ingin
untuk menambahkan nilai, contoh untuk membuat titik merah, digunakan I() :
warna = I(“merah”).
·
Ketika
Anda dapat meneruskan kegunaan nama estetika base R(col, pch, cex, dll), itu
adalah ide yang bagus untuk menukar agar lebih mendekripsikan nama estetika
ggplot2 (warna, bentuk dan ukuran). Mereka lebih mudah untuk diingat.
·
Untuk
menambahkan elemen grafik lebih jauh pada plot yang dibuat pada base grafik,
Anda dapat menggunakan points(), lines() and text(). Dengan ggplot2, Anda butuh
penambahan layer ke plot yang ada, terdeskripsi di bab selanjutnya.
Seaborn
Seaborn bertujuan untuk membuat
visualisasi bagian tengah mengeksplorasi dan memahami data. Fungsi merencanakan
beroperasi pada frame data dan array yang berisi seluruh dataset dan internal
melakukan agregasi diperlukan dan statistik model pas untuk menghasilkan plot
informatif. Jika matplotlib "mencoba untuk membuat hal-hal mudah yang
mudah dan hal-hal sulit yang mungkin", Seaborn mencoba untuk membuat satu
set yang didefinisikan dengan baik hal-hal yang sulit mudah juga.
Fungsi merencanakan mencoba untuk
melakukan sesuatu yang berguna saat dipanggil dengan satu set minimal argumen,
dan mereka mengekspos sejumlah pilihan disesuaikan melalui parameter tambahan.
Beberapa fungsi petak langsung ke matplotlib sebuah kapak objek, sementara yang
lain beroperasi pada sosok seluruh dan menghasilkan plot dengan beberapa panel.
Dalam kasus terakhir, plot diambil menggunakan benda Grid yang menghubungkan
struktur sosok dengan struktur dataset dengan cara yang abstrak.
Karena Seaborn menggunakan
matplotlib, grafis dapat lebih tweak menggunakan alat matplotlib dan diberikan
dengan salah satu backends matplotlib untuk menghasilkan angka publikasi
berkualitas. Seaborn juga dapat digunakan untuk menargetkan grafis berbasis web
melalui mpld3 dan Bokeh perpustakaan.
Seaborn harus dianggap sebagai
pelengkap untuk matplotlib, bukan pengganti untuk itu. Bila menggunakan
Seaborn, ada kemungkinan bahwa Anda akan sering memanggil fungsi matplotlib
langsung menggambar plot sederhana sudah tersedia melalui namespace pyplot.
Selanjutnya, sedangkan fungsi Seaborn bertujuan untuk membuat plot yang cukup
"siap produksi" (termasuk penggalian informasi semantik dari objek
Panda menambahkan label informatif), kustomisasi penuh angka akan memerlukan
pemahaman yang canggih benda matplotlib.
Pembahasan Facetgrid dalam Seaborn
class
seaborn.FacetGrid(data, row=None, col=None, hue=None, col_wrap=None,
sharex=True,
sharey=True, size=3, aspect=1, palette=None, row_order=None,
col_order=None,
hue_order=None, hue_kws=None, dropna=True, legend_out=True,
despine=True,
margin_titles=False, xlim=None, ylim=None, subplot_kws=None,
gridspec_kws=None)
Jaringan subplot untuk merencanakan
hubungan bersyarat
__init__(data,
row=None, col=None, hue=None, col_wrap=None, sharex=True,
sharey=True,
size=3, aspect=1, palette=None, row_order=None, col_order=None,
hue_order=None,
hue_kws=None, dropna=True, legend_out=True, despine=True,
margin_titles=False,
xlim=None, ylim=None, subplot_kws=None,
gridspec_kws=None)
Menginisialisasi bentuk dari matplotlib dan objek FacetGrid
The FacetGrid adalah obyek yang
menghubungkan Pandas DataFrame untuk bentuk dari matplotlib dengan struktur
tertentu
Secara khusus, FacetGrid digunakan
untuk menggambar plot dengan beberapa Axes dimana setiap Axes menunjukkan
hubungan yang sama dikondisikan pada tingkat yang berbeda dari beberapa
variabel. Ini mungkin untuk mengkondisikan pada hingga tiga variabel dengan
menetapkan variabel untuk baris dan kolom dari grid dan menggunakan warna yang
berbeda untuk elemen plot
Pendekatan umum untuk merencanakan
di sini disebut "kelipatan kecil", di mana jenis yang sama plot
diulang beberapa kali, dan penggunaan spesifik kelipatan kecil untuk
menampilkan hubungan yang sama-AC di satu bijih lebih variabel lain sering
disebut "teralis petak "
Alur kerja dasarnya adalah untuk
menginisialisasi objek FacetGrid dengan dataset dan variabel yang digunakan
untuk struktur grid. Kemudian satu atau lebih fungsi merencanakan dapat
diterapkan untuk setiap bagian dengan memanggil FacetGrid.map () atau FacetGrid.map
dataframe (). Akhirnya, plot dapat men-tweak dengan metode lain untuk melakukan
hal-hal seperti mengubah label sumbu, menggunakan kutu yang berbeda, atau
menambahkan legenda. Lihat contoh kode rinci di bawah ini untuk informasi lebih
lanjut
Parameters :
1.
data
: DataFrame
2.
Rapi
: ("lama-bentuk") frame data di mana setiap kolom adalah variabel dan
setiap baris adalah pengamatan
3.
row,col,hue
: strings Variabel yang menentukan himpunan bagian dari data, yang akan ditarik
pada aspek terpisah dalam grid. Lihat * _order parameter untuk mengontrol
urutan tingkat variabel ini
4.
col_wrap
: int, optional "Bungkus" variabel kolom pada lebar ini, sehingga
aspek kolom span beberapa baris. Kompatibel dengan segi baris
5.
share_{x,y}
: bool, optional Jika benar, aspek akan berbagi sumbu y di kolom dan / atau x
sumbu di baris
6.
size
: scalar, optional Tinggi badan (dalam inci) dari setiap aspek. Lihat juga:
Aspek
7.
aspect
: scalar, optional Rasio aspek setiap aspek, sehingga aspek * ukuran memberikan
lebar setiap aspek dalam inci
8.
palette
: seaborn color palette or dict, optional Warna yang akan digunakan untuk
tingkat yang berbeda dari variabel rona. Harus sesuatu yang bisa ditafsirkan
oleh palet warna (), atau tingkat pemetaan rona kamus matplotlib warna.
9.
{row,col,hue}_order
: lists, optional Memesan untuk tingkat variabel faceting. Secara default, ini
akan menjadi urutan bahwa tingkat muncul dalam data atau, jika variabel panda
categoricals, urutan kategori
10.
hue_kws
: dictionary of param -> list of values mapping Argumen kata kunci lain
untuk memasukkan ke dalam panggilan merencanakan untuk membiarkan atribut petak
lainnya bervariasi di tingkat variabel hue (misalnya spidol di plot pencar).
11.
legend_out
: bool, optional Jika Benar, ukuran angka akan diperpanjang, dan legenda akan
ditarik di luar plot pada tengah kanan
12.
despine
: boolean, optional Lepaskan Duri atas dan kanan dari plot margin_titles :
bool, optional Jika Benar, judul untuk variabel baris ditarik ke kanan kolom
terakhir. Pilihan ini eksperimental dan mungkin tidak bekerja dalam semua kasus
13.
{x,y}lim:
tuples, optional Batas untuk masing-masing sumbu pada setiap aspek (hanya
relevan ketika saham {x, y} Benar
14.
subplot_kws
: dict, optional Kamus argumen kata kunci dilewatkan ke Matplotlib subplot)
metode
15.
gridspec_kws
: dict, optional Kamus argumen kata kunci dilewatkan ke Matplotlib modul
gridspec (melalui plt.subplots). Membutuhkan matplotlib> = 1,4 dan diabaikan
jika col_wrap not
Bab 3
Perangkat
Lunak Untuk Pengaplikasian Facetgrid With Custom Projection
Pengaplikasian facetgrid with custom
projection pada buku ini. Penulis menggunakan dua metode yaitu GGPLOT2 dan
Seaborn. Keduanya menggunakan bahasa pemograman phyton dan menambahkan packages
untuk dapat menjalankan program facetgrid with custom projection. Berikut
merukapan langkah pengaplikasiannya :
Instalasi GGPLOT2
Untuk menggunakan ggplot2, Anda
harus terlebih dulu menginstalnya. Pastikan Anda memiliki versi terbaru R dari
http://r-project.org dan kemudian jalankan berikut baris kode untuk men-download
dan menginstal paket ggplot2. Install packages ggplot2 tidak sempurna, sehingga
dari waktu ke waktu Anda mungkin menemukan sesuatu yang tidak bekerja dengan
cara yang seharusnya.
Situs ini juga berisi pembicaraan
dan makalah yang berhubungan dengan ggplot2 dan kesempatan pelatihan jika Anda
ingin belajar . Website cran , http: //cran.r-project.or / web / paket /
ggplot2 / , adalah sumber lain yang berguna . Link halaman ini memberikan apa
yang baru dan berbeda. Jika Anda menggunakan ggplot2, itu ide yang baik untuk
mendaftar untuk ggplot2 mailing list , http: //groups.google.com/grou / ggplot2
. Alamt tersebut cukup mudah untuk pengguna baru . Situs buku ,
http://had.co.nz/ggplot2/book , menyediakan update untuk buku ini , serta PDF
yang berisi semua grafis yang digunakan dalam buku ini , dengan kode dan data
yang diperlukan untuk mereproduksi mereka .
Instalasi Seaborn
Untuk menginstal versi dirilis
Seaborn, Anda dapat menggunakan pip (dalam pip install Seaborn). Atau, Anda
dapat menggunakan pip untuk menginstal versi pengembangan, dengan perintah pip
install git + git: //github.com/waskom/seaborn.git#egg=seaborn. Pilihan lain
akan mengkloning repositori github dan menginstal dengan pip install. dari
direktori source. Seaborn sendiri merupakan Python murni, sehingga instalasi
cukup sederhana Bila menggunakan versi pengembangan,
Anda mungkin ingin merujuk pada
dokumentasi pembangunan. Perhatikan bahwa ini tidak dibangun secara otomatis
dan dapat di kali jatuh dari sinkron dengan cabang master sebenarnya pada
github
Yang kita perlukan yaitu:
·
Python
2.7 atau 3.3+ N
·
umpy
·
Scipy
·
Matplotlib
·
Pandas
·
Importing
seaborn
Seaborn akan menerapkan parameter
gaya default untuk global gaya matplotlib kamus ketika Anda impor. Ini akan
mengubah tampilan semua plot, termasuk yang dibuat dengan menggunakan fungsi
matplotlib langsung. Untuk menghindari perilaku ini dan menggunakan estetika
matplotlib default (bersama dengan kustomisasi apapun dalam matplotlibrc Anda),
Anda dapat mengimpor seaborn.api hanya namespace.
Seaborn memiliki beberapa gaya
pra-paket lainnya bersama dengan alat-alat tingkat tinggi untuk mengelola
mereka, sehingga Anda tidak harus membatasi diri Anda untuk estetika default.
Dengan konvensi, Seaborn disingkat
sns pada impor
Bab 4
Kasus Atau
Contoh Pemanfaatan Perangkat Lunak Untuk Facetgrid With Custom Projection
Dataset GGPLOT2
Segmen ini kita hanya akan
menggunakan satu sumber data, sehingga Anda bisa mendapatkan akrab dengan
rincian merencanakan daripada harus mebiasakan diri dengan berbagai set data.
Dataset berlian terdiri dari harga dan kualitas informasinya sekitar 54.000
berlian, dan termasuk dalam paket ggplot2. Data berisi empat C kualitas
berlian, karat, memotong, warna dan kejelasan; dan lima pengukuran fisik,
kedalaman, meja, x, y dan z, seperti yang dijelaskan dalam gambar (4.2).
Beberapa baris pertama dari data ditunjukkan pada tabel
Dataset belum dibersihkan dengan
baik, sehingga serta menunjukkan hubungan yang menarik tentang berlian, itu
juga menunjukkan beberapa masalah kualitas data. Kami juga akan menggunakan
dataset lain, dsmall yang merupakan sampel acak dari 100 berlian. Kami akan
menggunakan data ini untuk plot yang lebih tepat untuk dataset yang lebih
kecil.
Adding a Smoother to a Plot
Jika anda memiliki sebar dengan poin
banyak data, akan sulit untuk melihat secara tepat apa tren yang ditunjukkan
oleh data. Dalam hal ini anda mungkin ini menambahkan merapikan line untuk
plot. Hal ini mudah dilakukan dengan menggunakan GEOM halus seperti yang
ditunjukkan pada Gambar 2.4. Perhatikan bahwa kami telah menggabungkan beberapa
GEOMs dengan menyediakan nama vektor GEOM di buat dengan c (). The GEOM akan di
lapis, di urutkan dimana mereka muncul.
qplot(karat,
harga, data = d kecil, GEOM = c (“titik”, “halus”)).
qplot(karat, harga, data = berlian,
GEOM = c (“titik”, “halus”)).
Meskipun overplotting, kesan kita
dari hubungan eksponensial antara harga dan karat. Ada beberapa berlian lebih
besar dari tiga karat, dan ketidakpastian kami dalam bentuk hubungan meningkat
seperti yang di gambarkan oleh interval confidence titik bijak yang di
tampilkan dalam warna abu-abu. Jika anda ingin mengubah confidence interval,
menggunakan se = FALSE. Ada banyak Smoother yang berbeda yang kamu dapat pilih
dengan menggunakan Metode Argument :
Metode = “Loess”, Default untuk n
kecil, gunakan regresi smooth lokal. Detail lebih tentang algoritma yang di
gunakan dapat di temukan di Loess. Kegoyangan pada garis di atur oleh rentang
parameter, yang jaraknya dari 0 (melebihi goyangan) to 1 ( tidak bergoyang).
qplot(karat,
harga, data = d kecil, geom = c(“titik”, “kehalusan”), rentang = 0.2).
qplot(karat, harga, data = d kecil,
geom = c(“titik”, “kehalusan”), rentang = 1).
Loess tidak bekerja dengan baik pada
dataset besar (yang 0(n^2) di dalam memory), dan juga sebuah alternatif
algoritma penghalusan yang di gunakan ketika n lebih besar dari 1000.
Kamu bisa juga mengisi mgcv library
dan menggunakan metode = “gam”, formula = y ~ s(x) untuk mengisi generalisasi
model additif. Ini sangat sama untuk menggunakan sebuah spline dengan lm,
tetapi derajat kehalusannya ternilai dari data. Pada data besar, gunakan
formula y ~ s(x, bs = “cs”). Ini di gunakan dengan default ketika ada lebih
dari 1000 poin.
library(mgcv)
qplot(karat,
harga, data = d kecil, geom = c(“titik”, “kehalusan”),
metode
= “gam”, formula = y ~ s(x)) qplot(karat, harga, data = d kecil, geom
= c(“titik”, “kehalusan”), metode =
“gam”, formula = y ~ s(x, bs = “cs”))
Metod = “rlm” berkerja seperti lm,
tetapi menggunakan sebuah degup untuk mencocokan algoritma jadi garis luarnya
tidak terkena seperti isinya. Ini adalah bagian dari paket Massa, jadi ingat
untuk mengisi dahulu.
Histogram and Density Plots
Histogram dan densiti plot
menunjukkan distribusi dari satu variabel. Mereka menyediakan informasi lebih
mengenai distribusi dari satu group lebih dari boxplot yang menyediakan, tetapi
ini lebih sulit untuk membandingkan group-group (meskipun kita akan melihat
satu cara untuk menyelesaikannya). Figur (4.5) memperlihatkan distribusi pada
karat dengan histogram dan lot densitinya.
qplot(carat, data = diamonds, geom =
“histogram”) qplot(carat, data = diamonds, geom =”density”)
Pada plot densiti pengaturan argumen
mengkontrol derajat kehalusan (nilai yang tinggi dalam pengaturan menghasilkan
plot yang lebih halus). Pada histogram argumen binwidth mengontrol jumlah
kehalusan dengan pengaturan ukuran bin. (Break point dapat juga
dispesifikasikan eksplisitnya, menggunakan argumen break). Ini sangat penting
untuk percobaan dengan level kehalusan. Dengan histrogram Anda harusnya mencoba
banyak binwidth : Anda dapat menemukan fitu yang besar dari data yang muncul
baik pada binwidth yang besar ketika fitur yang baik memerlukan kelebaran yang
sangat sempit. Di figur 2.11, kami mencoba dengan tiga nilai pada binwidth :
1.0, 0.1 dan 0.01. Ini hanya pada plot dengan binwidth (kanan) paling kecil
yang bisa kita lihat pergoresan yang kita catat di awal penybaran plot, hampir
“baik” angka pada karat.
Kode fullnya adalah :
qplot(carat,
data = diamonds, geom = “histogram”, binwidth = 1, xlim = c(0,3))
qplot(carat,
data = diamonds, geom = “histogram”, binwidth = 0,1, xlim = c(0,3))
qplot(carat, data = diamonds, geom =
“histogram”, binwidth = 0.01, xlim = c(0,3))
Pemetaan adalah sebuah kategori
variabel untuk sebuah estetika yang otomatis akan terpisah pada geom dengan
variabelnya, jadi ini adalah perintah instruksi qplot() untuk menggambar plot
densitas dan histogram pada setiap level warna berlian.
Plot densitas lebih terlihat pada
awalan karena itu terlihat mudah untuk dibaca dan dibandingkan pada variasi
kurva. Bagaimanapun, ini lebih sulit untuk mengerti tepatnya apa itu lot
densitas yang terlihat. Ditambahannya plot densitas membuat beberapa asumsi
yang mungkin tidak benar pada data kita ; contohnya itu takterbatas kontinu dan
halus.
Time Series with line and Path Plots
Garis dan jalur plot biasanya
digunakan pada waku terterntu. Garis plot ikut pada poin dari kiri ke kanan
dimana ketika jalur plot bergabung dengan mereka dalam tujuan mereka muncul di
dalam set data (sebuah plot garis adalah hanya sebuah jalur plot pada data yang
disortir dengan nilai x). Garis plot biasanya dapat mncul pada sumbu x,
kemunculannya bagaimana satu variabel berubah setiap waktu. Jalur plot
menunjukkan bagaimana dua variabel punya kecocokan.
Bergantinya setiap waktu, dengan
waktu yang dikodekan di dalam cara poin-poin yang disatukan. Karena tidak ada
waktu variabel di dalam data berlian, kita menggunakan data set yang ekonomik,
dimana terdapat data ekonimik yang ada pengukuran US pada 40 tahun terakhir.
Figur (4.7) menunjukkan dua plot dari waktu yang tidak dipakai keduanya
memproduksi dengan geom = “line”. Yang pertama menunjukkan ketidakpakaian ratio
dan yang kedua menunjukkan angka median pada minggu-minggu yang dianggurkan.
Kita sudah dapat melihat beberapa perbedaan di dua variabel, terlebih lagi di
puncak terakhir dimana presentasi yang dianggurkan kurang dari yang ada di
puncak, tetapi panjang yang dianggurkan lebih tinggi.
qplot(date,
unemploy / pop, data = economics, geom = “line”)
qplot(date, uempmed, data =
economics, geom = “line”)
Untuk memeriksa hubungan ini di
detail yang lebih tinggi, kita akan seperti menggambar kedua waktu pada plot
yang sama. Kita seharusnya dapat menggambar plot yang sebaran dari ratio
angguran v. panjang yang dianggurkan, tetapi kemudian kita tidak dapat melihat
lagi evolusinya setiap waktu. Solusinya adalah menggabungkan poin ajasensi yang
tepat dengan segmen garis, membentuk sebuah jalur plot di bawah ratio plot yang
dianggurkan kita vs. panjang yang dianggurkan dan digabungkan ke observasi
individual dengan sebuah jalur. Karena banyak garis yang bersebrangan, direksi
di dalam alur waktunya tidak mudah untuk dilihat pada plot yang pertama. Di
plot yang kedua kita masukkan estetika warna ke garis untuk memudahkan melihat
waktu tujuannya.
year
<- function(x) as.POSIXlt(x)$year + 1900 qplot(unemploy / pop, uempmed,
data
= economics, geom = c(“point”, “path”))
qplot(unemploy
/ pop, uempmed, data = economics, geom = “path”, colour = year
(date)) + scale_area()
Kita dapat melihat persen yang
dianggurkan dan panjang yang dianggurkan sangat tinggi korelasinya. Meskipun di
tahun-tahunnya sebelumnya panjang yang dianggurkan relatif meningkat ke ratio
yang dianggurkannya. Dengan data longitudinal, Anda ingin sering melihat
beberapa kali pada setiap plotnya, setiap seri memperlihatkan satu individual.
Untuk melakukan ini dengan qplot(). Anda butuh estetika group peta untuk
menyandi anggota group di setiap observasi.
Alternatif
Ini adalah beberapa pengaturan qplot
yang lain untuk mengkontrol penampilan grafik. Ini semua punya efek yang sama
seperti kesamaan plot mereka :
·
•
xlim, ylim : set limit pada sumbu x dan sumbu y, setiap angka vektor panjangnya
2, contoh xlim =c(0, 20) atau ylim=c(-0.9, -0.5).
·
log
: sebuah vektor karakter mengindikasikan yang (jika semua) sumbu seharusnya
dijadikan penunjuk. Sebagai contoh, log = “x” akan menunjuk sumbu x, log = “y”
akan menunjuk keduanya.
·
main
: judul utama pada plot, teks yang besar ditengah ada di atas para plot. Ini
dapat berupa string (contoh, main = “plot title”) atau sebuah ekspresi (contoh,
main = “expression(beta[1] == 1)). Liat? Plotmath pada contoh lain pada
penggunaan formula matematika.
·
xlab,
ylab : label pada sumbu x dan sumbu y. Sebagai judul plot ini dapat berupa
karakter strin atau ekspresi matematika.
Contoh berikut menampilkan
pengaturan aksi.
>
qplot( + karat, harga, data = dkecil,
+
xlab = “harga ($)”, ylab = “berat (karat)”,
+
main = “hubungan harga-berat”
+ )
>
qplot( + karat, harga/karat, data = dkecil,
+
ylab = ekspresi(frac(harga,karat)),
+
xlab = “berat (karat)”,
+
main = “Berlian kecil”,
+ )
Peringatan : terhapus 35 baris yang
berisi nilai yang hilang (geom_point).
>
qplot(karat, harga, data = dkecil, log = “xy”)
Keseluruhan Data Ekonomi
Pertimbangkan dataset ekonomi bahan
bakar , mpg , sampel yang diilustrasikan dalam Tabel 3.1 . Ini catatan membuat,
model , kelas , ukuran mesin , transmisi dan bahan bakar ekonomi untuk pilihan
mobil AS pada tahun 1999 dan 2008. Ini berisi 38 model yang diperbarui setiap
tahun , indikator bahwa mobil itu model populer . Model-model ini termasuk
mobil populer seperti Audi A4 , Honda Civic , Hyundai Sonata , Nissan Maxima ,
Toyota Camry dan Volkswagen Jetta . Data ini berasal dari situs ekonomi bahan
bakar EPA , http://fueleconomy.gov .
10 mobil pertama di dataset mpg ,
termasuk dalam paket ggplot2 . cty dan hwy merekam mil per galon ( mpg ) untuk
mengemudi di kota dan jalan raya, masing-masing, dan Displ adalah perpindahan
mesin dalam liter .
Dataset ini menunjukkan banyak
pertanyaan yang menarik . Bagaimana mesin ukuran dan ekonomi bahan bakar yang
terkait ? Apakah produsen tertentu lebih peduli tentang ekonomi dari yang lain
? Telah ekonomi bahan bakar meningkat dalam sepuluh tahun terakhir ? Kami akan
mencoba untuk menjawab pertanyaan pertama dan dalam proses belajar lebih detail
tentang bagaimana sebar dibuat .
Membangun Scatterplot
Ini adalah sebar dari dua variabel
berkelanjutan ( perpindahan mesin dan jalan raya mpg ) , dengan poin diwarnai
oleh variabel ketiga ( jumlah silinder ) . Dari pengalaman Anda di bab
sebelumnya , Anda harus memiliki perasaan yang cukup baik untuk cara membuat
ini plot dengan qplot ( ) . Tapi apa yang terjadi di bawah permukaan ?
Bagaimana ggplot2 menarik plot ini ?
qplot(displ, hwy, data = mpg, colour
= factor(cyl))
Sebuah sebaran perpindahan mesin
dalam liter ( displ ) vs rata raya mil per galon ( hwy ) . Poin berwarna sesuai
dengan jumlah silinder . Ini Plot merangkum faktor yang paling penting yang
mengatur ekonomi bahan bakar : ukuran mesin .
Estetika Pemetaan Data
Apa tepatnya adalah sebar sebuah ?
Anda telah melihat banyak sebelum dan memiliki mungkin bahkan ditarik beberapa
dengan tangan . Sebuah sebar mewakili setiap observasi sebagai titik ( ) ,
dipoSkalaan sesuai dengan nilai dua variabel . Serta horizontal dan posisi
vertikal , setiap titik juga memiliki ukuran , warna dan bentuk. Atribut ini
disebut estetika , dan sifat-sifat yang dapat dianggap pada grafik . Setiap estetika
dapat dipetakan ke variabel , atau set ke nilai konstan . Pada Gambar (4.12)
Displ dipetakan ke posisi horizontal , hwy ke posisi vertikal dan cyl warna .
Ukuran dan bentuk yang tidak dipetakan ke variabel , tetapi tetap pada (
konstan ) nilai standar
Setelah kita memiliki pemetaan ini
kita dapat membuat dataset baru yang mencatat ini informasi. Tabel (4.12)
menunjukkan pertama 10 baris data di balik Gambar (4.12) .Dataset baru ini
adalah hasil dari penerapan pemetaan estetika dengan aslinya data. Kita dapat
membuat banyak jenis berbeda-beda dari plot menggunakan data ini . scatter-
yang Plot menggunakan poin, tetapi kami bukan untuk menggambar garis kita akan
mendapatkan plot line. Jika kami menggunakan bar , kita akan mendapatkan sebuah
bar petak . Tak satu pun dari contoh-contoh masuk akal bagi Data ini , tapi
kita masih bisa menarik mereka , seperti pada Gambar (4.13) . Dalam ggplot2
kita bisa memproduksi berbagai plot yang tidak masuk akal , namun yang
gramatikal valid . Ini ada berbeda-beda dari Inggris , di mana kita dapat
membuat tidak masuk akal tapi gramatikal kalimat seperti batu marah menyalak
seperti koma .
10 baris Pertama dari mpg ulang ke
dalam format yang diperlukan untuk sebuah sebar .Frame data ini berisi semua
data yang akan ditampilkan pada plot .
Selain menggunakan poin untuk
mewakili data, kita bisa menggunakan geoms lain seperti baris ( kiri ) atau bar
( kanan) . Tak satu pun dari geoms ini masuk akal untuk data ini, tetapi mereka
masih gramatikal berlaku .'
Titik, garis dan bar merupakan
contoh objek geometris , atau geoms . Geoms menentukan "Jenis" dari
plo. Plot yang menggunakan GEOM tunggal sering diberi nama khusus , beberapa
yang tercantum dalam Tabel (4.12). Lebih rumit plot dengan kombinasi beberapa
geoms tidak memiliki nama khusus , dan kami harus menggambarkan mereka dengan
tangan . Sebagai contoh, Gambar 3.3 overlay per kelompok garis regresi pada
plot yang ada . Apa yang Anda sebut plot ini ? Setelah Anda menguasai tata
bahasa , Anda akan menemukan bahwa banyak plot yang menghasilkan secara unik
disesuaikan untuk masalah Anda dan tidak akan lagi memiliki nama khusus .
Sebuah pilihan yang bernama plot dan
geoms bahwa mereka sesuai dengan .
Plot yang lebih rumit tidak memiliki
nama mereka sendiri . Plot ini mengambil Gambar 3.1 dan menambahkan garis
regresi untuk masing-masing kelompok . Apa yang Anda sebut plot ini ?
Penskalaan 1
Nilai-nilai dalam Tabel (4.14) tidak
memiliki arti untuk komputer. Kita perlu mengkonversi mereka dari unit data
(misalnya, liter, mil per galon dan jumlah silinder) ke unit fisik (misalnya,
piksel dan warna) bahwa komputer dapat menampilkan. Proses konversi ini disebut
scaling dan dilakukan oleh skala. Sekarang ini nilai-nilai yang berarti bagi
komputer, mereka mungkin tidak berarti bagi kita: warna diwakili oleh enam
huruf tali heksadesimal, ukuran dengan nomor dan bentuk dengan integer. Ini
kation spesifik estetika yang bermakna R dijelaskan dalam Lampiran B. Dalam
contoh ini, kami memiliki tiga estetika yang perlu ditingkatkan: Posisi horisontal
(x), posisi vertikal (y) dan warna. Posisi Scaling mudah dalam hal ini Misalnya
karena kita menggunakan Skala linear default. Kita hanya perlu linear pemetaan
dari berbagai data untuk [0; 1]. Kami menggunakan [0; 1] bukannya tepat piksel
karena sistem gambar yang ggplot2 penggunaan, grid, mengurus yang konversi nal
bagi kita. Langkah nal menentukan bagaimana dua posisi (x dan y) digabungkan
untuk membentuk lokasi nal pada plot. Hal ini dilakukan oleh sistem, atau coord
berkoordinasi.
Dalam kebanyakan kasus ini akan
menjadi koordinat Cartesian, tapi mungkin koordinat polar, atau proyeksi bola
yang digunakan untuk peta. Proses pemetaan warna yang sedikit lebih rumit,
seperti yang telah kita hasil non-numerik: warna. Namun, warna dapat dianggap
sebagai memiliki tiga komponen, sesuai dengan tiga jenis sel-warna mendeteksi
di mata manusia. Ketiga jenis sel menimbulkan warna tiga dimensi ruang. Scaling
kemudian melibatkan pemetaan nilai data ke titik dalam ruang ini. Ada banyak
cara untuk melakukan ini, tapi di sini karena cyl adalah variabel kategoris
kami nilai peta untuk merata spasi warna pada roda warna, seperti yang
ditunjukkan pada Gambar (4.15). Sebuah perbedaan pemetaan digunakan ketika
variabel berkelanjutan. Hasil konversi ini adalah Tabel (4.14), yang berisi
nilai-nilai yang memiliki makna ke komputer. Serta estetika yang telah
dipetakan variabel, kami juga mencakup estetika yang konstan. Kita perlu ini
sehingga estetika untuk setiap titik yang benar-benar spesifik ed dan R dapat
menarik plot.
Data sederhana dengan variabel
dipetakan ke ruang angkasa estetika . deskripsi warna adalah menakutkan , tapi
ini adalah bentuk yang menggunakan R internal . nilai default lingkaran poin
akan diisi (bentuk 19 di R) dengan : untuk estetika lainnya diisi di diameter 1
mm .
Sebuah roda warna yang menggambarkan
pilihan ve warna sama spasi . ini adalah skala default untuk variabel diskrit .
Akhirnya , kita perlu membuat data
ini untuk membuat objek grafis yang ditampilkan di layar . Untuk membuat plot
yang lengkap kita perlu mengkombinasikan objek grafis dari tiga sumber : data ,
yang diwakili oleh titik GEOM ; timbangan dan sistem koordinat , yang
menghasilkan kapak dan legenda sehingga kita dapat membaca nilai dari grafik ;
dan penjelasan plot, seperti latar belakang dan judul petak . Gambar (4.16)
memisahkan kontribusi data dari kontribusi dari timbangan dan penjelasan alur .
Kontribusi dari Skala , sumbu dan
legenda dan grid baris , dan background petak . Kontribusi dari data , titik
GEOM , telah dihapus .
Sebuah Plot yang Lebih Kompleks
Plot ini menambahkan tiga komponen
baru untuk campuran : aspek , beberapa lapisan dan statistik . Aspek dan
lapisan memperluas struktur data yang dijelaskan di atas : setiap panel aspek
di setiap lapisan memiliki sendiri dataset . Anda dapat menganggap ini sebagai
array 3d : panel dari segi membentuk Jaringan 2d , dan lapisan memperpanjang ke
atas dalam 3 dimensi . Dalam hal ini Data di lapisan adalah sama , namun secara
umum kita bisa plot di dataset erent pada di lapisan berbeda-beda. Tabel 3.5
menunjukkan beberapa baris pertama dari data di setiap aspek .
qplot ( Displ , hwy , data = mpg ,
aspek = . ~ tahun ) + geom_smooth ( )
Sebuah plot yang lebih kompleks
dengan aspek dan beberapa lapisan .
Lapisan halus berbeda-beda untuk
lapisan titik karena tidak menampilkan data mentah, melainkan menampilkan
transformasi statistik data. Lapisan halus ts garis halus melalui tengah data.
Hal ini memerlukan langkah tambahan dalam proses yang dijelaskan di atas:
setelah pemetaan data untuk estetika, data akan diteruskan ke transformasi
statistik, atau stat, yang memanipulasi data dalam beberapa cara yang
bermanfaat. Dalam contoh ini, statts data ke loess halus, dan kemudian kembali
prediksi dari merata poin spasi dalam kisaran data. Statistik berguna lainnya
termasuk 1 dan Binning 2d, kelompok berarti, regresi kuantil dan contouring.
Serta menambahkan langkah tambahan untuk meringkas data, kita juga perlu
beberapa langkah tambahan ketika kita sampai ke timbangan. Ini karena kita sekarang
memiliki beberapa dataset (untuk aspek berbeda-beda dan lapisan) dan kita perlu
membuat memastikan bahwa skala adalah sama di semua dari mereka. Scaling
benar-benar terjadi dalam tiga bagian: transformasi, pelatihan dan pemetaan.
Kami belum disebutkan transformasi sebelumnya, tetapi Anda mungkin telah
melihat itu sebelumnya di plot log-log. Dalam log-log plot, nilai-nilai data
tidak linear dipetakan ke posisi di plot, tetapi pertama log-berubah.
Transformasi skala terjadi sebelum
transformasi statistik sehingga statistik yang yang tics dihitung pada data
skala - berubah . Hal ini memastikan bahwa plot log ( x ) vs log ( y ) dalam
skala linear tampak sama dengan x vs y pada skala log . Ada banyak transformasi
berbeda-beda yang dapat digunakan , termasuk taking persegi akar , logaritma
dan reciprocals .
Setelah statistik dihitung ,
masing-masing skala dilatih pada setiap dataset dari semua lapisan dan aspek .
Operasi pelatihan menggabungkan rentang dari dataset individu untuk mendapatkan
berbagai data yang lengkap . Tanpa langkah ini , Skala hanya bisa masuk akal
secara lokal dan kami tidak akan mampu overlay lapisan berbeda-beda karena
posisi mereka tidak akan berbaris
Terkadang kita ingin bervariasi
skala posisi di sisi ( tetapi tidak pernah di lapisan ).
Akhirnya timbangan memetakan nilai
data ke dalam nilai-nilai estetika . Ini adalah sebuah operasi lokal : variabel
dalam setiap dataset dipetakan ke estetika mereka nilai menghasilkan dataset
baru yang kemudian dapat diberikan oleh geoms .
Komponen dari Tata Bahasa Berlapis
Dalam contoh di atas , kita telah
melihat beberapa komponen yang membentuk plot , data dan pemetaan estetika ,
objek geometris (geoms) , statistik transformasi (statistik) , skala dan
faceting . Kami juga telah menyentuh pada sistem koordinasi. Satu hal yang kita
tidak menyebutkan adalah penyesuaian posisi , yang berkaitan dengan tumpang
tindih objek grafis . Bersama-sama, data , pemetaan , stat, GEOM dan
penyesuaian posisi bentuk lapisan . Sebuah plot mungkin memiliki beberapa lapisan
, seperti dalam contoh di mana kita dilapis garis merapikan di sebar a. Semua
bersama-sama, berlapis tata bahasa de nes plot sebagai kombinasi dari :
·
Sebuah
dataset default dan mengatur pemetaan dari variabel estetika .
·
Satu
Atau lebih lapisan , masing-masing terdiri dari objek geometris , sebuah
statistik transformasi , dan penyesuaian posisi , dan opsional , dataset dan
pemetaan estetika .
·
Satu
skala untuk setiap pemetaan estetika .
·
Sebuah
sistem koordinat .
·
Segi
spesifikasi .
Bagian berikut menjelaskan
masing-masing komponen tingkat yang lebih tinggi lebih tepat, dan mengarahkan
Anda ke bagian-bagian dari buku di mana mereka didokumentasikan .
Lapisan yang bertanggung jawab untuk
menciptakan objek-objek yang kita rasakan pada plot .
Lapisan A terdiri dari empat bagian
:
·
Data
dan pemtaan estetika
·
Transformasi
statistik (stat)
·
Objek
geometris (GEOM) dan penyesuaian posisi
Deskripsi Skema dari proses generasi
petak . Setiap persegi mewakili lapisan , dan skema ini merupakan plot dengan
tiga lapisan dan tiga panel . Semua langkah bekerja dengan mengubah frame data
individu , kecuali untuk skala pelatihan yang tidak seorang dll frame data dan
beroperasi di semua dataset secara bersamaan .
Penskalaan 2
Skala A mengontrol pemetaan dari
data atribut estetika, dan kita perlu skala untuk setiap estetika digunakan
pada plot. Setiap skala beroperasi di semua Data dalam plot, memastikan
pemetaan konsisten dari data ke estetika. Skala A adalah fungsi, dan
kebalikannya, bersama dengan satu set parameter. Untuk Misalnya, skala warna
gradien memetakan sebuah segmen garis nyata untuk jalan melalui ruang warna.
Parameter dari fungsi de ne apakah path adalah linear atau melengkung, warna
yang ruang untuk menggunakan (misalnya, LUV atau RGB), dan warna pada awal dan
akhir. Fungsi invers digunakan untuk menggambar panduan sehingga Anda dapat
membaca nilai dari grafik. Panduan yang baik sumbu (untuk skala posisi) atau
legenda (untuk yang lainnya). Kebanyakan pemetaan memiliki invers yang unik
(yaitu, pemetaan fungsi satu-ke-satu), tapi banyak yang tidak. Sebuah terbalik
yang unik memungkinkan untuk memulihkan data asli, tapi ini tidak selalu
diinginkan jika kita ingin fokus perhatian pada satu aspek.
Contoh legenda dari empat skala
berbeda-beda . Dari kiri ke kanan : terus menerus variabel dipetakan ke ukuran,
dan warna , variabel diskrit dipetakan untuk membentuk , dan untuk warna.
Pemesanan Skala tampaknya terbalik , tapi ini sesuai dengan pelabelan sumbu y :
nilai kecil terjadi di bagian bawah .
Sistem Koordinat
Sebuah sistem koordinat, atau Coord
untuk jangka pendek, peta posisi benda ke bidang plot. Posisi sering tertentu
ed oleh dua koordinat (x; y), tetapi potensial bisa menjadi tiga atau lebih
(meskipun hal ini belum diimplementasikan diggplot2). Cartesian koordinat
sistem koordinat yang paling umum sistem dua dimensi, sedangkan koordinat polar
dan berbagai proyeksi peta lebih jarang digunakan. Sistem koordinat sebuah dll
semua variabel posisi secara bersamaan dan di er dari Skala di bahwa mereka
juga mengubah tampilan objek geometris. Misalnya, dalam koordinat polar, bar
geoms terlihat seperti segmen lingkaran. Selain itu, scaling dilakukan sebelum
transformasi statistik, sementara transformasi koordinat terjadi sesudahnya.
Sistem koordinat mengontrol bagaimana sumbu dan garis grid ditarik.
Faceting 2
Ada juga hal lain yang ternyata
menjadi su sien berguna yang kita harus memasukkannya dalam kerangka umum kami
: faceting , kasus umum AC atau trellised plot . Hal ini membuat mudah untuk
membuat kelipatan kecil masing-masing menunjukkan subset berbeda-beda dari
seluruh dataset . Ini adalah alat yang ampuh ketika menyelidiki apakah pola
tahan di segala kondisi . The faceting kation spesifik menjelaskan yang
variabel harus digunakan untuk berpisah data , dan apakah timbangan posisi
harus bebas atau dibatasi .
3.9 : Contoh sumbu dan garis grid
untuk tiga sistem koordinat : Cartesian ,semi- log dan polar . Sistem koordinat
polar menggambarkan kesulitan- di terkait dengan koordinat non- Cartesian :
sulit untuk menarik sumbu baik .
Struktur Data
Tata bahasa ini dikodekan ke dalam
struktur data R dengan cara yang cukup mudah . Sebuah objek petak adalah daftar
dengan komponen data, pemetaan ( estetika bawaan pemetaan ) , lapisan ,
timbangan , koordinat dan facet. Objek Plot memiliki satu komponen lain kita
tidak dibahas belum : Pilihan . Ini digunakan untuk menyimpan Plot. Plot dapat
dibuat dengan dua cara : sekaligus dengan qplot ( ) , seperti yang ditunjukkan
pada bab sebelumnya , atau sepotong demi sepotong dengan ggplot ( ) dan fungsi
lapisan , seperti dijelaskan dalam bab berikutnya . Setelah Anda memiliki objek
plot, ada beberapa hal yang dapat Anda lakukan dengan itu :
·
Render
pada layar , dengan print () . Hal ini terjadi secara otomatis ketika berjalan
secara interaktif , tapi di dalam loop atau fungsi , Anda akan perlu untuk
mencetak ( ) sendiri .
·
Render
ke disk , dengan ggsave ( ).
·
Brie
y menggambarkan struktur dengan ringkasan ( ) .
·
Menyimpan
salinan cache itu ke disk , dengan save ( ) . Ini menghemat salinan lengkap
dari objek plot, sehingga Anda dapat dengan mudah menciptakan kembali bahwa
plot persis dengan beban ( ). Perhatikan data yang disimpan di dalam plot ,
sehingga jika Anda mengubah data luar plot , dan kemudian redraw plot disimpan
, tidak akan diperbarui . Kode berikut mengilustrasikan beberapa alat ini.
>
p <- qplot(displ, hwy, data = mpg, colour = factor(cyl)) > summary(p)
data:
manufacturer,
model, displ, year, cyl, trans, drv, cty, hwy, fl, class
[234x11]
mapping: colour = factor(cyl), x = displ, y = hwy scales: colour, x,
y
faceting: facet_grid(. ~ ., FALSE) ———————————– geom_point: stat_identity:
position_identity:
(width = NULL, height = NULL) > # Save plot object to disk
>
save(p, file = "plot.rdata") > # Load from disk >
load("plot.rdata") > #
Save
png to disk > ggsave("plot.png", width = 5, height = 5)
Seaborn Facetgrid with custom
Projection
Python Source code
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
sns.set()
# Generate an example radial datast
r = np.linspace(0,
10, num=100) df = pd.DataFrame({'r':
r, 'slow': r,
'medium': 2 * r, 'fast': 4 * r})
# Convert the dataframe to long-form
or "tidy" format
df = pd.melt(df, id_vars=['r'],
var_name='speed',
value_name='theta')# Set up a grid
of axes with a polar projection g
= sns.FacetGrid(df,
col="speed", hue="speed",
subplot_kws=dict(projection='polar'),
size=4.5,
sharex=False, sharey=False,
despine=False)
# Draw a scatterplot onto each axes
in the grid
g.map(plt.scatter,
"theta", "r")
Penggunaan Seaborn
Setiap estetika memiliki skala
default yang ditambahkan ke plot setiap kali Anda menggunakan estetika itu. Ini
tercantum dalam Tabel 6.1. Skala tergantung pada jenis variabel: kontinyu
(numerik) atau diskrit (faktor, logis, karakter). Jika Anda ingin mengubah
timbangan standar melihat skala set_default (), dijelaskan dalam Bagian 8.2.1.
Timbangan standar ditambahkan ketika Anda menginisialisasinya plot dan ketika
Anda menambahkan lapisan baru. Ini berarti ada kemungkinan untuk mendapatkan
ketidaksesuaian antara jenis variabel dan jenis skala jika nanti memodifikasi
data yang mendasari atau pemetaan estetika. Ketika ini terjadi, Anda perlu
menambahkan skala yang benar sendiri. Contoh berikut menggambarkan masalah dan
solusi.
plot <- qplot(cty, hwy, data =
mpg)
plot
# This doesn't work because there is
a mismatch
between the
# variable type and the default
scale
plot + aes(x = drv)
# Correcting the default manually
resolves the
problem.
plot + aes(x = drv) + scale_x_discrete()
Untuk menambahkan skala yang berbeda
atau memodifikasi beberapa fitur dari skala default, Anda harus membangun skala
baru dan kemudian menambahkannya ke plot menggunakan +. Semua konstruktor skala
memiliki skema penamaan umum. Mereka mulai dengan skala _, diikuti dengan nama
estetika (misalnya, warna _, shape_ atau x_), dan akhirnya dengan nama skala
(misalnya, gradien, warna atau manual). Sebagai contoh, nama skala default
untuk estetika warna berdasarkan data diskrit adalah hue skala warna (), dan
nama dari skala warna Brewer untuk mengisi warna adalah skala mengisi bir ().
6.1: Scales, berdasarkan jenis
estetika dan variabel. Timbangan standar yang berani. Skala standar bervariasi
tergantung pada apakah variabel kontinu atau diskrit. Bentuk dan jenis garis
tidak memiliki skala standar terus menerus; Ukuran tidak memiliki skala diskrit
default.
Kode berikut mengilustrasikan ini
process.We mulai dengan plot yang menggunakan skala warna default, dan kemudian
memodifikasi untuk menyesuaikan penampilan legenda, dan kemudian menggunakan
skala warna yang berbeda. Hasilnya ditunjukkan pada Gambar 6.1.
p <- qplot(sleep_total,
sleep_cycle, data = msleep,colour = vore)
p
# Explicitly add the default scale p
+
scale_colour_hue()
# Adjust parameters of the default,
here changing the
appearance
# of the legend p +
scale_colour_hue("What does\nit
eat?", breaks =
c("herbi", "carni", "omni", NA),
labels = c("plants",
"meat", "both", "don't know"))
# Use a different scale p +
scale_colour_brewer(pal = "Set1")
Ara. 6.1: Mengatur parameter default
skala. (Top kiri) Plot dengan skala default. (Top kanan) Menambahkan skala
standar dengan tangan tidak mengubah tampilan plot. (Bawah kiri) Mengatur
parameter skala untuk men-tweak legenda. Kanan bawah) Menggunakan skala warna
yang berbeda: Set1 dari warna ColorBrewer.
Detail Penskalaan
Timbangan dapat diibagi secara kasar
ke dalam empat kelompok terpisah:
·
Skala
posisi, digunakan untuk memetakan terus menerus, variabel diskrit dan
tanggal-waktu ke daerah merencanakan dan membangun sumbu yang sesuai.
·
Skala
Warna, digunakan untuk memetakan terus menerus, variabel kontinu dan diskrit
untuk warna
·
Skala
Manual, digunakan untuk memetakan variabel diskrit untuk pilihan anda ukuran
simbol, jenis garis, bentuk atau warna, dan untuk menciptakan legenda sesuai.
·
Skala
identitas, digunakan untuk merencanakan nilai variabel langsung ke estetika
daripada pemetaan mereka, Sebagai contoh, jika variabel yang ingin untuk
memetakan simbol warna sendiri merupakan vektor warna, Anda ingin membuat
nilai-nilai langsung daripada pemetaan mereka untuk beberapa warna lain.
Bagian ini menjelaskan setiap
kelompok secara lebih rinci. Rincian yang tepat tentang individu timbangan
dapat ditemukan dalam dokumentasi, dalam R
Argumen berikut yang umum untuk
semua skala.:
·
Nama:
menetapkan label yang akan muncul pada sumbu atau legenda. Anda dapat
menyediakan string teks (menggunakan \ n untuk jeda baris) atau ekspresi
matematika (seperti yang dijelaskan oleh Plotmath). Karena tweaking label ini
adalah suatu tugas bersama, ada tiga fungsi pembantu untuk menghemat mengetik:
xlab (), ylab () dan laboratorium (). Penggunaannya ditunjukkan dalam kode di
bawah ini dan hasilnya ditunjukkan pada Gambar 6.2
p <- qplot(cty, hwy, data = mpg,
colour = displ)
p
p + scale_x_continuous("City
mpg")
p + xlab("City mpg")
p + ylab("Highway mpg")
p + labs(x = "City mpg", y
= "Highway", colour =
"Displacement")
p
+ xlab(expression(frac(miles, gallon))) .
·
Batas:
perbaikan domain skala. Timbangan terus menerus mengambil vektor numerik
panjang dua; sisik diskrit mengambil vektor karakter. Jika batas yang
ditetapkan, tidak ada pelatihan data akan dilakukan. Lihat Bagian 6.4.2 untuk
jalan pintas. Batas berguna untuk menghapus data yang tidak ingin ditampilkan
dalam komplotan (yaitu, menetapkan batas yang lebih kecil dari berbagai data),
dan untuk memastikan bahwa batas konsisten di beberapa plot dimaksudkan untuk
dibandingkan (yaitu, menetapkan batas yang lebih besar atau lebih kecil dari
beberapa rentang default). Setiap nilai tidak dalam domain skala tersebut akan
dibuang: untuk pengamatan untuk dimasukkan dalam plot, masing-masing estetika
harus berada dalam domain masing-masing skala. Mengabaikan ini terjadi sebelum
statistik dihitung.
Ara. 6.2: Sebuah demonstrasi gelar
berbagai bentuk legenda dapat mengambil.
·
Istirahat
dan label: istirahat kontrol yang nilai muncul pada sumbu atau legenda, yaitu,
apa nilai-nilai tanda centang akan muncul pada sumbu atau bagaimana skala
kontinyu tersegmentasi dalam legenda. label menentukan label yang akan muncul
di breakpoints. Jika label diatur, Anda juga harus menentukan istirahat,
sehingga kedua dapat dicocokkan dengan benar. Untuk membedakan istirahat dari
batas, ingat bahwa istirahat mempengaruhi apa yang muncul pada sumbu dan
legenda, sementara batas mempengaruhi apa yang muncul di plot. Lihat Gambar 6.3
untuk ilustrasi. Kolom pertama menggunakan pengaturan default untuk kedua
istirahat dan batas, yang batas = c (4, 8) dan istirahat = 4: 8. Di kolom
tengah, istirahat telah ulang: wilayah diplot adalah sama, tetapi posisi
centang dan label telah bergeser. Di kolom kanan, itu adalah batas yang telah
didefinisikan ulang, begitu banyak data sekarang berada di luar wilayah
merencanakan.
p <- qplot(cyl, wt, data =
mtcars)
p
p + scale_x_continuous(breaks =
c(5.5, 6.5))
p + scale_x_continuous(limits =
c(5.5, 6.5))
p <- qplot(wt, cyl, data =
mtcars, colour = cyl)
p
p + scale_colour_gradient(breaks =
c(5.5, 6.5))
p
+ scale_colour_gradient(limits = c(5.5, 6.5))
Ara. 6.3: Perbedaan antara istirahat
dan batas. (Kiri) Plot standar dengan batas = c (4, 8), istirahat = 4: 8,
(tengah) istirahat = c (5.5,6.5) dan (kanan) batas = c (5.5,6.5). E? Ect pada
sumbu x (atas) dan legenda warna (bawah)
·
formatter:
jika tidak ada label yang ditentukan formatter akan dipanggil pada setiap
istirahat untuk menghasilkan label. Formatters berguna untuk skala kontinu
koma, persen, dolar dan ilmiah, dan untuk skala diskrit disingkat.
Posisi Penskalaan
Setiap petak harus memiliki dua
skala posisi, satu untuk posisi horisontal (x skala) dan satu untuk posisi
vertikal (skala y). ggplot2 dilengkapi dengan terus menerus, diskrit (bagi
faktor, karakter dan vektor logis) dan skala date. Masing-masing mengubah data
dengan cara yang sedikit berbeda, dan menghasilkan jenis yang sedikit berbeda
dari sumbu. Bagian berikut menjelaskan setiap jenis secara lebih rinci.
Sebuah tugas umum untuk semua sumbu
posisi berubah batas sumbu. Karena ini adalah suatu tugas bersama, ggplot2
menyediakan beberapa fungsi pembantu untuk menghemat mengetik: xlim () dan ylim
(). Fungsi ini memeriksa masukan mereka dan kemudian membuat skala yang tepat,
sebagai berikut:
·
xlim(10,
20): a continuous scale from 10 to 20
·
ylim(20,
10): a reversed continuous scale from 20 to 10
·
xlim("a",
"b", "c"): a discrete scale
·
xlim(as.Date(c("2008-05-01",
"2008-08-01"))): a date scale from May 1 to August 1 2008.
Batasan ini tidak bekerja dengan
cara yang sama seperti xlim dan ylim di dasar atau kisi grafis. Dalam ggplot2,
untuk konsisten dengan skala lainnya, data di luar batas tidak diplot dan tidak
termasuk dalam transformasi statistik. Ini berarti bahwa pengaturan batas
adalah tidak sama dengan visual zoom ke wilayah plot. Untuk melakukan itu, Anda
perlu menggunakan xlim dan ylim argumen untuk coord_cartesian (), dijelaskan
dalam Bagian 7.3.3. Ini melakukan zooming murni visual dan tidak mempengaruhi
data yang mendasarinya.
Secara default, batas timbangan
posisi memperpanjang sedikit melewati berbagai data. Hal ini memastikan bahwa
data tidak tumpang tindih sumbu. Anda dapat mengontrol jumlah ekspansi dengan
memperluas argumen. Parameter ini harus menjadi vektor numerik panjang dua.
Elemen pertama memberikan ekspansi perkalian, dan perluasan aditif kedua. Jika
Anda tidak ingin ada ruang ekstra, gunakan memperluas = c (0, 0).
Lanjutan
Skala posisi terus menerus paling
umum adalah skala x terus menerus dan skala y terus menerus, yang memetakan
data ke sumbu x dan y. Variasi yang paling menarik yang diproduksi menggunakan
transformasi. Setiap skala kontinyu membutuhkan argumen trans, yang
memungkinkan spesifikasi berbagai transformasi, baik linear dan non-linear.
Transformasi yang dilakukan oleh \ transformator, "yang menggambarkan
transformasi, kebalikannya, dan cara menggambar label. Tabel 6.2 daftar
beberapa transformator lebih umum.
Tabel 6.2: Daftar built-in
transformator.
Transformasi yang paling sering
digunakan untuk memodifikasi skala posisi, jadi ada jalan pintas untuk x, y dan
z skala: scale_x_log10 () adalah setara dengan scale_x_continuous (trans =
"log10"). Argumen trans bekerja untuk setiap skala kontinyu, termasuk
gradien warna dijelaskan di bawah, tetapi cara pintas hanya ada untuk skala
posisi.
Tentu saja, Anda juga dapat
melakukan transformasi diri. Misalnya, alih-alih menggunakan scale_x_log (),
Anda bisa merencanakan log10 (x). Yang menghasilkan hasil yang sama di dalam
wilayah merencanakan, tapi sumbu dan centang label tidak akan sama. Jika Anda
menggunakan skala berubah, sumbu akan diberi label dalam ruang data asli. Dalam
kedua kasus, transformasi terjadi sebelum ringkasan statistik. Gambar 6.4
mengilustrasikan perbedaan ini dengan kode berikut.
qplot(log10(carat), log10(price),
data = diamonds)
qplot(carat, price, data = diamonds)
+
scale_x_log10()
+ scale_y_log10()
Ara. 6.4: Sebuah sebar harga berlian
vs karat menggambarkan perbedaan antara log mengubah skala (kiri) dan log
mengubah data (kanan). Plot identik, namun label sumbu yang berbeda.
Transformers juga digunakan dalam
coord_trans (), di mana transformasi terjadi setelah statistik telah dihitung,
dan mempengaruhi bentuk dari objek grafis yang digambar di plot. coord_trans ()
dijelaskan secara lebih rinci dalam Bagian 7.3.3.
Tanggal dan Waktu
Tanggal dan waktu pada dasarnya nilai-nilai
terus menerus, tetapi dengan cara-cara khusus label sumbu. Saat ini, hanya
tanggal tanggal kelas dan waktu kelas POSIXct didukung. Jika tanggal Anda dalam
format yang berbeda Anda akan perlu untuk mengkonversi mereka dengan as.Date ()
atau as.POSIXct ().
Ada tiga argumen yang mengendalikan
penampilan dan lokasi kutu untuk tanggal sumbu: besar, kecil dan format.
Umumnya, skala melakukan pekerjaan yang cukup baik untuk memilih default,
tetapi jika Anda perlu untuk men-tweak mereka dengan rincian sebagai berikut:
·
Argumen
mayor dan minor menentukan posisi istirahat besar dan kecil dalam hal unit
tanggal, tahun, bulan, minggu, hari, jam, menit dan detik, dan dapat
dikombinasikan dengan pengganda. Sebagai contoh, besar = "2 minggu"
akan menempatkan tanda centang besar setiap dua minggu. Jika tidak ditentukan,
skala tanggal memiliki beberapa standar yang wajar untuk memilih mereka secara
otomatis.
·
Format
argumen menentukan bagaimana label tick harus diformat. Tabel 6.3 berisi daftar
karakter khusus yang digunakan untuk menampilkan komponen dari tanggal. Sebagai
contoh, jika Anda ingin menampilkan tanggal dari bentuk 14/10/1979, Anda akan
menggunakan string "% d /% m /% y"
Tabel 6.3: Data Umum format kode,
diadaptasi dari dokumentasi strftime. Terdaftar dari terpendek durasi
terpanjang.
Kode di bawah menghasilkan plot pada
Gambar 6.5, yang menggambarkan beberapa parameter ini.
plot <- qplot(date, psavert, data
= economics, geom = "line") +
ylab("Personal savings rate") + geom_hline(xintercept =
0, colour = "grey50")
plot
plot + scale_x_date(major = "10
years")
plot + scale_x_date( limits =
as.Date(c("2004-01-01",
"2005-01-01")),
format = "%Y-%m-%d" )
Ara. 6.5: Serangkaian saat tingkat
tabungan pribadi. (Kiri) Penampilan default, (tengah) istirahat setiap 10
tahun, dan (kanan) skala terbatas tahun 2004, dengan format tanggal Ymd.
Pengukuran dicatat pada akhir setiap bulan.
Bab 5
Penutup
Demikianlah buku yang kami buat ini, semoga bermanfaat dan
menambah pengetahuan para pembaca. Kami mohon maaf apabila ada kesalahan ejaan
dalam penulisan kata dan kalimat yang kurang jelas, dimengerti dan lugas.
Karena kami adalah manusia biasa yang tak luput dari kesalahan. Dan kami juga
sangat mengharapkan saran dan kritik para pembaca demi kesempurnaan buku ini.
Sekian penutup dari kami semoga dapat diterima dihati dan kami ucapkan terima
kasih yang sebesar-besarnya.
Daftar Pustaka
Wickham, Hadley (March 2010).
"A Layered Grammar of Graphics". Journal of Computational and
Graphical Statistics 19 (1): 3–28
Wickham, Hadley (July 2010).
"ggplot2: Elegant Graphics for Data Analysis". Journal of Statistical
Software 35 (1)
Wilkinson, Leland (June 2011).
"ggplot2: Elegant Graphics for Data Analysis by WICKHAM, H".
Biometrics 67 (2): 678–679
Smith, David. "Create beautiful
statistical graphics with ggplot2". Revolutions. Revolution Analytics.
Retrieved 11 July 2011
http://learnr.wordpress.com/2009/08/26/ggplot2-version-of-figures-in-lattice-multivariate-data-visualization-with-r-final-part/
https://github.com/yhat/ggplot/
(yhat. Retrieved 12 October 2014)
http://stanford.edu/~mwaskom/software/seaborn/index.html
http://stanford.edu/~mwaskom/software/seaborn/tutorial.html
http://docs.ggplot2.org/current/
http://ggplot2.org
Baca Selengkapnya ....