1 poin oleh GN⁺ 3 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Flint adalah bahasa visualisasi yang secara otomatis menentukan parsing, sumbu, format, dan warna berdasarkan makna field data, sehingga chart dapat dibuat dan dimodifikasi tanpa konfigurasi level rendah
  • Dengan tipe semantik (semantic type) seperti Rank, YearMonth, Delta, dan Temperature, Flint menyimpulkan konfigurasi detail yang diperlukan untuk encoding visual
  • Model tata letak elastis dan prinsip banking digunakan untuk menyesuaikan ukuran, jarak, dan penempatan; ketika chart membesar, kanvas diperluas dan lebar band diperkecil untuk menangani komposisi yang padat
  • Mendukung 50 jenis chart di Vega-Lite, ECharts, Chart.js, dan Plotly, serta menghasilkan chart Excel native yang dapat diedit melalui Office.js
  • Dalam satu antarmuka, backend dapat diganti untuk memanfaatkan keunggulan masing-masing tool, seperti sunburst hierarkis ECharts, trace statistik dan analitik Plotly, serta kemampuan pengeditan di dalam workbook Excel

Spesifikasi berbasis makna dan optimisasi otomatis

  • Flint menyimpulkan parsing, skala, sumbu, format, dan skema warna melalui tipe semantik yang menunjukkan makna field data, seperti Rank, YearMonth, Delta, dan Temperature
    • Pada heatmap yang menunjukkan perubahan bersih pengguna baru per game dan per bulan, game ditetapkan sebagai Category, period sebagai YearMonth, dan newUsers sebagai Profit
    • Berdasarkan makna yang ditetapkan, parser nilai waktu, format sumbu, skema warna divergen, dan titik tengah ditentukan secara otomatis
  • Optimisasi tata letak otomatis menerapkan model tata letak elastis dan prinsip banking untuk mengelola ukuran, jarak, dan penempatan secara dinamis agar sesuai dengan kanvas
    • Ketika grouped bar chart bertambah dari komposisi jarang 5 × 3 menjadi komposisi padat 22 × 3, kanvas diperluas dan lebar band diperkecil
    • Mekanismenya mirip dengan pegas yang menempatkan diri di dalam container yang dapat diperluas
  • Desain dapat diubah hanya dengan mengganti jenis chart dan menghubungkan ulang encoding visual, tanpa perlu menangani parameter level rendah yang rapuh secara langsung
    • Faceted bar chart yang menunjukkan distribusi populasi menurut jenis kelamin dan usia dalam sensus AS tahun 2000 berubah menjadi pyramid chart hanya dengan mengganti jenis chart, sementara pengaturan level rendah lainnya ditangani oleh compiler

Dukungan backend dan rilis terbaru

  • Mendukung 50 jenis chart di seluruh Vega-Lite, ECharts, Chart.js, dan Plotly, dengan 121 contoh per backend di galeri
    • Antarmuka terpadu menyembunyikan API dan model pemrograman yang berbeda di tiap backend
    • ECharts dapat digunakan untuk sunburst hierarkis, sedangkan Plotly untuk trace statistik dan analitik
    • Melalui Office.js, Flint menghasilkan chart Excel native yang dapat disisipkan dan diedit di workbook
  • v0.4.0 menambahkan 38 jenis chart Plotly dan 18 template chart Excel native yang dapat diedit pada 24 Juli 2026
  • v0.3.0 menambahkan widget chart dinamis untuk mengganti jenis chart dan memodifikasi properti langsung di tempat pada 19 Juli 2026
  • v0.2.2 menambahkan mode compact dodge dan tata letak grouped violin pada 15 Juli 2026

1 komentar

 
GN⁺ 3 jam lalu
Pendapat Hacker News
  • Bahkan di era AI, menurut saya API ggplot adalah API chart terbaik. “Grammar of Graphics” bukan sekadar slogan pemasaran, melainkan upaya untuk benar-benar membuat tata bahasa yang dapat mengekspresikan semua grafik kualitatif yang mungkin
    Proses itu terdokumentasi di https://link.springer.com/book/10.1007/0-387-28695-0. Saya menemukan buku ini saat meneliti grafik lama yang dulu digambar dengan kertas dan pena; chart di laporan tahunan Reserve Bank of Australia pada 1960~1980-an punya karakter, sedangkan pada awal 2000-an berubah menjadi chart Excel yang datar
    Meski ggplot tidak sepenuhnya mereproduksi daya tarik chart lama, tampaknya ia banyak mengambil inspirasi dari cara penyampaian informasinya. Pada bagian 20.1, buku itu mereproduksi grafik Minard yang menggambarkan invasi Napoleon ke Rusia, dan contoh serupa bisa dilihat di https://www.andrewheiss.com/blog/2017/08/10/exploring-minard...
    Hasilnya lebih enak dilihat daripada pyplot dan API yang dibangun di atasnya, dan pyplot tampaknya punya keterbatasan besar pada rendering berbasis raster dan pemrosesan teks. ggplot ada di ekosistem R sehingga kurang dikenal oleh software engineer, tetapi saya berharap ekosistem Node.js dan Python lebih banyak mencontoh API ini

    • Grammar of Graphics karya Wilkinson-lah yang menginspirasi ggplot, dan buku ajar tersebut sama sekali tidak memuat ggplot
      Saya juga merilis Algraf, DSL yang dibuat dengan inspirasi dari filosofi yang sama: https://williamcotton.github.io/algraf/demos. Demo itu juga mencakup grafik Minard
    • plotnine untuk Python juga layak dilihat: https://raw.githubusercontent.com/rstudio/cheatsheets/main/p...
      Ini dikembangkan oleh pihak RStudio tempat pembuat ggplot, Hadley Wickham, pernah bekerja, dan saat ini didukung oleh Posit, tempat ia bekerja sekarang
    • Spesifikasi JSON untuk backend Vega-Lite juga pada umumnya mengikuti gagasan Grammar of Graphics. Saya lebih suka sisi ggsql yang baru-baru ini diperkenalkan di HN: https://ggsql.org/
    • Sistem semantik Grammar of Graphics sudah ideal baik untuk manusia maupun agen. ggsql mengimplementasikannya sebagai fungsi buatan pengguna SQL sehingga lebih mudah ditangani agen, jadi saya tidak tahu apa lagi yang Flint tawarkan
    • Jika menginginkan daya tarik seperti gambar tangan dan bersedia memakai METAPOST, ada fiziko: https://github.com/jemmybutton/fiziko
  • Saya sudah mencoba Flint dan pendekatan yang membuat AI langsung menghasilkan spesifikasi Vega-Lite, dan Flint bukan solusi yang lebih baik
    Flint oke untuk menyesuaikan tipe chart yang sudah ditentukan sebelumnya pada level rendah, tetapi jika agen atau sub-agen membuat spesifikasi Vega secara langsung, visualisasi yang jauh lebih fleksibel dan berkualitas tinggi bisa dibuat, seperti penandaan nilai minimum-maksimum pada deret waktu atau anotasi pada tanggal kejadian tertentu
    Namun, Vega-Lite memerlukan validasi spesifikasi dan instruksi yang konkret, dan bug serta perilaku aneh harus terus ditangani. Jika ingin mulai cepat tanpa membangun pembuatan chart sebagai keahlian tersendiri, Flint lebih stabil

  • Ini tampaknya mencoba menangani beberapa backend chart dengan satu antarmuka, tetapi kalau AI bisa menulis Flint, bukankah lebih baik langsung menyuruhnya menulis kode backend? Alasan membuat backend bisa saling diganti tidak terlalu jelas
    Namun, jika ini adalah API sederhana untuk LLM, ada keuntungan berupa efisiensi token yang lebih tinggi

    • Setiap backend chart mendukung tipe yang berbeda. Jika seperti contoh proyek, kita bisa dengan mudah beralih antara sunburst ECharts dan bar chart berfaset Vega-Lite, itu akan sangat berguna
  • Microsoft/Flint-Chart juga pernah diperkenalkan pada 2 Juli 2026: https://github.com/microsoft/flint-chart, https://news.ycombinator.com/item?id=48756577
    Pada 8 Juli, ini kembali muncul sebagai “Show HN: Microsoft releases Flint, a visualization language for AI agents”: https://microsoft.github.io/flint-chart/#/, https://news.ycombinator.com/item?id=48834924

  • Kenapa tidak cukup bilang saja “tolong buat grafik XYZ dengan plotly”?

    • Dalam visualisasi data otomatis, pendekatan itu memerlukan sandbox untuk menjalankan kode JavaScript atau Python yang dihasilkan. Jika berupa spesifikasi seperti Flint, itu bisa divalidasi lalu langsung digambar, dan jika LLM lebih baik dalam menghasilkan Flint daripada Vega-Lite, itu bisa berguna
  • 22 hari lalu juga ada diskusi yang lebih besar: https://news.ycombinator.com/item?id=48834924

  • DSL untuk AI rasanya kurang masuk akal. Model dilatih dengan library grafik yang sudah ada dan sebenarnya sudah cukup pandai memakainya
    Dalam jangka panjang, setelah Flint dirilis, laboratorium riset mungkin bisa membuat “benchmark grafik” agar model overfit ke DSL ini, tetapi tampaknya butuh terlalu banyak pekerjaan

  • Saya tidak tahu mulai dari tingkat abstraksi mana sesuatu menjadi berlebihan. Apakah Plotly atau Plotly Express belum cukup, dan bagaimana tepatnya satu lagi spesifikasi JSON akan membuka era baru, itu masih dipertanyakan

  • Menarik, tetapi saya tidak yakin ini benar-benar dibutuhkan. Sudah banyak library chart matang, termasuk Apache ECharts, dan pada akhirnya ini tampak seperti proses menciptakan ulang roda yang sudah ada
    Alat baru dirilis, lalu fitur terus ditambahkan, kemudian alat lain dengan desain dan sintaks yang sedikit berbeda menggantikan alat sebelumnya; pola ini terus berulang
    Untuk sunburst hierarkis bisa memakai ECharts, untuk garis pelacakan statistik dan analitik bisa memakai Plotly, dan untuk chart yang akan diedit di dalam workbook bisa memakai Excel, yakni memanfaatkan kekuatan khas tiap backend. Atau lebih baik pilih satu library chart yang disukai dan benar-benar pelajari fiturnya, daripada hanya mencampur preset dari banyak library tanpa melakukan penyesuaian detail