Pembuatan Diagram + Visualisasi Data dengan Julia

 – Beragampengetahuan
5 mins read

Pembuatan Diagram + Visualisasi Data dengan Julia – Beragampengetahuan

Oleh: DSB

Diposting ulang dari:

Contents

Pendekatan baru untuk visualisasi data menggunakan Vizagrams.jl

Visualisasi data dan pembuatan diagram sering kali dianggap sebagai topik terpisah. Namun, bagi pengamat yang jeli, keduanya sangat mirip. Faktanya, dapat dikatakan bahwa visualisasi data adalah bagian dari pembuatan diagram, di mana data digunakan secara terstruktur untuk membuat gambar diagram. Ide ini dieksplorasi dalam paket Julia Vizagrams.jl, yang mengimplementasikan diagram Bahasa Khusus Domain (DSL) dengan tata bahasa visualisasi data yang dibangun di atasnya.

Pada artikel ini kami menunjukkan cara menggunakannya Vizagrams.jl baik untuk pembuatan diagram maupun visualisasi data. Saya sangat merekomendasikan menggunakan notebook seperti Jupyter atau Pluto untuk melacak.

Pengaturan

Paket tersebut terdaftar di repositori publik Julia, sehingga dapat diinstal dengan melakukan:

julia>]
pkg> add Vizagrams

Dasar-dasar pembuatan bagan

Vizagrams mengimplementasikan Diagram DSL yang terinspirasi oleh perpustakaan Haskell Diagram yang luar biasa. Kita dapat menganggap diagram hanya sebagai sekumpulan objek grafik primitif (lingkaran, persegi panjang, garis…), di mana gambar akhir hanya menampilkan setiap objek secara bergantian, seperti SVG.

Kita mulai dengan contoh paling dasar, sebuah lingkaran:

using Vizagrams
# My first Diagram
d = Circle()
draw(d)

Secara default, lingkaran kita digambar hitam. Kita dapat memodifikasi warnanya dengan menerapkan transformasi gaya.

d = S(:fill=>:red)*Circle()
draw(d)

Kita bisa membuat segalanya lebih menarik dengan menambahkan objek lain pada gambar kita. Bagaimana kita bisa melakukan ini? Baiklah, tambahkan saja:

d = S(:fill=>:red)*Circle() + Square()
draw(d)

Perhatikan bahwa urutan penjumlahan itu penting. Dengan menambahkan persegi setelah lingkaran, Vizagram akan menampilkan persegi di atas lingkaran.

Kami menggunakan S(:fill=>:red) untuk menerapkan warna isian merah pada lingkaran. Selain transformasi gaya, kita juga dapat menerapkan transformasi geometri, seperti translasi T , rotasi R , dan skala U .

d = S(:fill=>:red)*Circle() +
S(:stroke=>:blue,:fill=>:white)T(2,0)*Square() +
S(:fill=>:white)R(3.14/4)*Square()

draw(d)

Terakhir, kita bisa menggabungkan sekaligus menggabungkan diagram yang sudah ada untuk membentuk diagram baru.

d_2 = d + T(4,0) * d
draw(d_2)

Membangun visualisasi data

Sekarang kita lanjutkan menggambar grafiknya. Sekali lagi, kita mulai dengan contoh paling dasar:

plt = plot(x=rand(100),y=rand(100),color=rand(["a","b"],100))
draw(plt)

Seperti yang diharapkan, hasilnya adalah plot sebar sederhana. Namun, sesuatu yang menarik sedang terjadi. Variabel plt sebenarnya berisi diagram. Artinya kita bisa memanipulasinya seperti yang kita lakukan sebelumnya pada diagram lain, dan kita juga bisa menggabungkannya dengan diagram lain.

d = R(π/4)plt +
T(250,0)*plt +
Line([[180,250],[350,350],[350,200]]) +
T(350,350)Circle(r=10)

draw(d)

Meskipun contoh di atas konyol, contoh ini menggambarkan apa yang mungkin terjadi. Faktanya, mudah untuk melihat bagaimana seseorang dapat menggabungkan operasi pembuatan diagram untuk membangun visualisasi yang lebih berguna, seperti:

Scatter plot dengan PCA yang sesuai dengan data. Histogram mewakili distribusi kesalahan dalam kecocokan PCA. Plot ini digambar menggunakan Vizagrams.jl.

Tata bahasa yang divisualisasikan dengan diagram

Dalam Vizagrams, diagram DSL digunakan untuk membangun tata bahasa visualisasi data, yaitu spesifikasi yang dapat menghasilkan banyak visualisasi berbeda. Sintaks tata bahasanya didasarkan pada Vega-Lite, yang merupakan tata bahasa yang sangat populer di komunitas Visualisasi Data (paket Python Altair didasarkan pada Vega-Lite dan ada juga paket Julia yang disebut VegaLite.jl).

Menjelaskan tata bahasa visual memerlukan artikel terpisah. Namun, gaya spesifikasinya cukup sederhana, jadi semoga bahkan orang yang belum familiar dengan Vega-Lite pun bisa memahami apa yang terjadi.

# Importing DataFrames to store the data
using DataFrames

# VegaDatasets is used to load the dataset `cars`
using VegaDatasets
df = DataFrame(dataset("cars"));
df = dropmissing(df);

# Here is where Vizagrams plot specification actually starts
plt = Plot(
data=df,
encodings=(
x=(field=:Horsepower,),
y=(field=:Miles_per_Gallon,),
color=(field=:Origin,),
size=(field=:Acceleration,),
),
graphic=Circle()
)
draw(plt)

Perhatikan bahwa kami menentukan plot kami dengan mengubah kumpulan data terlebih dahulu. Kemudian kita tentukan “encodingnya”, yaitu x, y, warna, dan ukuran. Setiap variabel yang dikodekan memiliki bidang parameter yang menunjukkan kolom mana dalam kumpulan data yang dipetakan ke dalamnya. Jadi dalam contoh kita, kita memetakan “Horsepower” pada sumbu x, “Miles_per_Gallon” pada sumbu y, perubahan warna berdasarkan “Origin” dan ukuran berdasarkan “Acceleration”. Terakhir, “grafik” menentukan apa yang akan digambar dalam plot ini. Karena kita telah melewati Circle() , ini berarti kita menggambar lingkaran.

Di sinilah segalanya menjadi menarik. Kita dapat meneruskan plot ke parameter “grafik” ini di spesifikasi plot. Pertama kita buat diagramnya:

d = S(:fill=>:white,:stroke=>:black)*Circle(r=2) +
Circle() +
T(2,0)*Square()
draw(d)

Sekarang, kami memasukkan diagram ini ke dalam spesifikasi plot dan…

plt = Plot(
data=df,
encodings=(
x=(field=:Horsepower,),
y=(field=:Miles_per_Gallon,),
color=(field=:Origin,),
size=(field=:Acceleration,),
),
graphic = Mark(d)
)

draw(plt)

Sekali lagi, contoh ini tidak terlalu membantu, namun ini menggambarkan apa yang bisa dicapai. Ini mungkin contoh yang lebih “berguna”:

Plot sebar menggunakan Penguin untuk kumpulan data Palmer Penguins yang terkenal. Contoh lengkapnya dapat ditemukan di dokumentasi Vizagrams.

Beberapa kata terakhir

Artikel ini hanyalah pengenalan Vizagram. Masih banyak lagi yang bisa dijelajahi, seperti membuat tanda grafik, ekspresi grafik, operasi penumpukan, dll.

Jika Anda ingin mempelajari lebih lanjut tentang Vizagram, lihat dokumentasinya. Sekali lagi, saya sarankan menggunakan notebook (Jupyter atau Pluto), karena seseorang dapat dengan cepat bereksperimen dengan desain yang berbeda.


Pembuatan Diagram + Visualisasi Data dengan Julia awalnya diterbitkan di Coffee in a Klein Bottle on Medium, di mana orang-orang melanjutkan percakapan dengan menyorot dan menanggapi cerita ini.

Software Terbaru Saat Ini



Aplikasi yang sedang trend saat ini

object oriented programming, programming language, programming adalah, web programming, belajar programming, tournament software, software, software adalah, contoh software, apa itu software, pengertian software, aplikasi, aplikasi penghasil uang, aplikasi bokep, aplikasi video, programming

#Pembuatan #Diagram #Visualisasi #Data #dengan #Julia

Tinggalkan Balasan

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