FACEGRID CUSTOM PROJECTION MENGGUNAKAN GGPLOT & SEABORN

Posted by Unknown 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 ....