1 puan yazan GN⁺ 3 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Flint, veri alanlarının anlamına göre ayrıştırma, eksen, biçim ve renkleri otomatik belirleyerek düşük seviyeli ayarlar olmadan grafik oluşturup düzenlemeyi sağlayan bir görselleştirme dilidir.
  • Rank, YearMonth, Delta, Temperature gibi anlamsal tipler (semantic type) ile görsel kodlama için gereken ayrıntılı yapılandırmayı çıkarır.
  • Esnek yerleşim modeli ve banking ilkesiyle boyut, aralık ve yerleşimi ayarlar; grafik büyüdüğünde tuvali genişletir ve bant genişliğini azaltarak yoğun düzenlere uyum sağlar.
  • Vega-Lite, ECharts, Chart.js ve Plotly'de 50 grafik türünü destekler; ayrıca Office.js üzerinden düzenlenebilir yerel Excel grafikleri de üretir.
  • Tek bir arayüzde backend değiştirerek ECharts'ın hiyerarşik sunburst'ü, Plotly'nin istatistiksel ve analitik trace'leri, Excel'in çalışma kitabı içi düzenleme yeteneği gibi her aracın güçlü yanlarından yararlanılabilir.

Anlam tabanlı belirtim ve otomatik optimizasyon

  • Flint, Rank, YearMonth, Delta, Temperature gibi veri alanlarının anlamını gösteren anlamsal tipler ile ayrıştırma, ölçek, eksen, biçim ve renk sistemini çıkarır.
    • Oyun ve ay bazında sıralı yeni kullanıcı artışını gösteren bir heatmap'te game alanı Category, period alanı YearMonth, newUsers alanı ise Profit olarak tanımlanır.
    • Belirlenen anlama göre zaman değeri ayrıştırıcısı, eksen biçimi, ayrışan renk sistemi ve orta nokta otomatik seçilir.
  • Otomatik yerleşim optimizasyonu, esnek yerleşim modeli ile banking ilkesini uygulayarak boyut, aralık ve yerleşimi tuvale göre dinamik biçimde yönetir.
    • Gruplanmış çubuk grafik seyrek bir 5 × 3 düzenden yoğun bir 22 × 3 düzene büyüdüğünde tuvali genişletir ve bant genişliğini azaltır.
    • Bu, yayların genişleyebilen bir kapsayıcı içinde yer bulmasına benzer bir yaklaşımdır.
  • Kırılgan düşük seviyeli parametrelerle doğrudan uğraşmadan, yalnızca grafik türünü değiştirme ve görsel kodlamayı yeniden bağlama yoluyla tasarım değiştirilebilir.
    • 2000 ABD nüfus sayımındaki cinsiyet ve yaşa göre nüfus dağılımını gösteren facet çubuk grafik, yalnızca grafik türü değiştirilerek bir piramit grafiğe dönüştürülebilir; kalan düşük seviyeli ayarları derleyici halleder.

Backend desteği ve son sürümler

  • Vega-Lite, ECharts, Chart.js ve Plotly genelinde 50 grafik türünü destekler; galeride backend'e göre 121 örnek bulunur.
    • Birleşik arayüz, backend'lere özgü farklı API'leri ve programlama modellerini gizler.
    • ECharts hiyerarşik sunburst için, Plotly ise istatistiksel ve analitik trace'ler için kullanılabilir.
    • Office.js aracılığıyla çalışma kitabına eklenip düzenlenebilen yerel Excel grafikleri üretir.
  • v0.4.0, 24 Temmuz 2026'da 38 Plotly grafik türü ile düzenlenebilir 18 yerel Excel grafik şablonu ekledi.
  • v0.3.0, 19 Temmuz 2026'da grafik türünü değiştirmeyi ve özellikleri yerinde düzenlemeyi sağlayan dinamik grafik widget'ları ekledi.
  • v0.2.2, 15 Temmuz 2026'da compact dodge modu ile gruplanmış violin yerleşimini ekledi.

1 yorum

 
GN⁺ 3 시간 전
Hacker News yorumları
  • Yapay zeka çağında bile ggplot API'sinin en iyi grafik API'si olduğunu düşünüyorum. “Grammar of Graphics” yalnızca bir pazarlama ifadesi değil; mümkün olan tüm nitel grafiklerin ifade edilebileceği bir dilbilgisini gerçekten oluşturmaya yönelik bir girişimdi.
    Bu süreç https://link.springer.com/book/10.1007/0-387-28695-0'da anlatılıyor. Eski, kâğıt kalemle çizilmiş grafikleri incelerken bu kitabı buldum; Avustralya Merkez Bankası'nın 1960–1980'lerdeki yıllık rapor grafiklerinin kendine özgü bir karakteri varken, 2000'lerin başında bunlar sıradan Excel grafiklerine dönüşmüştü.
    ggplot eski grafiklerin cazibesini tamamen yeniden üretemese de bilgi aktarma biçimlerinden epey yararlanmış gibi görünüyor. 20.1 bölümünde Napolyon'un Rusya seferini anlatan Minard grafiği yeniden oluşturuluyor; benzer bir örnek https://www.andrewheiss.com/blog/2017/08/10/exploring-minard... adresinde görülebilir.
    Çıktıları pyplot ve onun üzerine kurulan API'lerden daha iyi görünüyor; pyplot'un raster tabanlı render ve metin işleme konusunda ciddi kısıtları var gibi. ggplot R ekosisteminde olduğu için yazılım mühendisleri arasında daha az biliniyor, ama Node.js ve Python ekosistemlerinde de bu API'den daha fazla ilham alınmasını isterim.

    • Wilkinson'ın Grammar of Graphics'i ggplot'a ilham veren kaynaktı; söz konusu ders kitabında ggplot hiç geçmiyor.
      Aynı felsefeden ilham alan bir DSL olan Algraf'ı da yayımladım: https://williamcotton.github.io/algraf/demos. Demolarda Minard grafiği de var.
    • Python için plotnine da bakmaya değer: https://raw.githubusercontent.com/rstudio/cheatsheets/main/p...
      ggplot'u oluşturan Hadley Wickham'ın çalıştığı RStudio çizgisinde geliştirildi ve şu anda onun çalıştığı Posit tarafından destekleniyor.
    • Vega-Lite arka ucunun JSON tanımı da genel olarak Grammar of Graphics fikrini izliyor. Yakın zamanda HN'de tanıtılan ggsql tarafını daha çok beğendim: https://ggsql.org/
    • Grammar of Graphics'in anlamsal modeli hem insanlar hem de ajanlar için zaten ideal. ggsql bunu SQL kullanıcı tanımlı fonksiyonlarıyla uyguluyor ve ajanların işlemesini kolaylaştırıyor; bu yüzden Flint'in daha ne sunduğunu bilmiyorum.
    • Elle çizilmiş gibi bir çekicilik istiyor ve METAPOST kullanmaya razıysanız fiziko var: https://github.com/jemmybutton/fiziko
  • Hem Flint'i hem de yapay zekaya doğrudan Vega-Lite tanımı ürettirme yöntemini kullandım; Flint daha iyi bir çözüm değildi.
    Flint, önceden belirlenmiş grafik türlerini düşük seviyede özelleştirmek için fena değil; ancak bir ajan ya da alt ajan doğrudan Vega tanımı oluşturduğunda, zaman serilerinde minimum/maksimum değerleri gösterme veya belirli olay tarihlerine açıklayıcı işaretler ekleme gibi çok daha esnek ve kaliteli görselleştirmeler mümkün oluyor.
    Yine de Vega-Lite tanım doğrulaması ve somut yönergeler gerektiriyor; hataları ve tuhaf davranışları sürekli ele almak gerekiyor. Grafik üretimini ayrı bir beceri olarak inşa etmeden hızlı başlamak istiyorsanız Flint daha kararlı.

  • Birden fazla grafik arka ucunu tek bir arayüzle ele almaya çalışıyor gibi görünüyor; ama yapay zeka Flint yazabiliyorsa, doğrudan arka uç kodunu yazdırmak daha mantıklı değil mi? Arka ucu değiştirilebilir hâle getirme ihtiyacının nedeni belirsiz.
    Öte yandan LLM'ler için basit bir API ise token verimliliğini artırma avantajı olabilir.

    • Her grafik arka ucu farklı türleri destekliyor. Projedeki örnekte olduğu gibi ECharts sunburst ile Vega-Lite'ın fasetli çubuk grafiği arasında kolayca geçiş yapılabiliyorsa bu çok yararlı olur.
  • Microsoft/Flint-Chart 2 Temmuz 2026'da da tanıtılmıştı: https://github.com/microsoft/flint-chart, https://news.ycombinator.com/item?id=48756577
    8 Temmuz'da “Show HN: Microsoft releases Flint, a visualization language for AI agents” başlığıyla tekrar paylaşıldı: https://microsoft.github.io/flint-chart/#/, https://news.ycombinator.com/item?id=48834924

  • Sadece “plotly ile XYZ grafiği yap” demenin nesi yanlış?

    • Otomatik veri görselleştirmede bu yaklaşım, üretilen JavaScript veya Python kodunu çalıştıracak bir sandbox gerektirir. Flint gibi bir tanım doğrulandıktan sonra doğrudan çizilebilir; LLM Vega-Lite'a kıyasla Flint'i daha iyi üretiyorsa yararlı olabilir.
  • 22 gün önce daha büyük ölçekli bir tartışma da vardı: https://news.ycombinator.com/item?id=48834924

  • Yapay zeka için DSL pek mantıklı değil. Modeller mevcut grafik kütüphaneleriyle eğitildi ve bunları zaten oldukça iyi kullanıyor.
    Uzun vadede Flint'i yayımladıktan sonra laboratuvarların bu DSL'e aşırı uyum sağlamasını sağlayacak “grafik benchmark”ları oluşturabilirsiniz; ama bu çok fazla iş gerektiriyor gibi görünüyor.

  • Soyutlamanın hangi seviyeden sonra aşırıya kaçtığını bilmiyorum. Plotly veya Plotly Express yeterli değil mi; bir başka JSON tanımı nasıl yeni bir çağ başlatıyor, emin değilim.

  • İlginç, ama gerçekten gerekli mi bilmiyorum. Apache ECharts dahil zaten olgun birçok grafik kütüphanesi var; sonuçta mevcut tekerleği yeniden icat etme süreci gibi görünüyor.
    Yeni bir araç çıkıyor, özellikler eklenmeye devam ediyor; sonra biraz farklı tasarım ve sözdizimi benimseyen başka bir araç gelip asıl aracın yerini alıyor, bu tekrar edip duruyor.
    Hiyerarşik sunburst için ECharts, istatistiksel/analitik trend çizgileri için Plotly, çalışma kitabı içinde düzenlenecek grafikler için Excel gibi arka uca özgü güçlü yanlardan yararlanmak da mümkün. Ya da beğendiğiniz tek bir grafik kütüphanesini seçip özelliklerini gerçekten öğrenmek, birden fazla kütüphanenin hazır ayarlarını karıştırıp ince ayar yapmamaktan daha iyi olabilir.