1 पॉइंट द्वारा GN⁺ 3 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Flint एक visualization भाषा है जो data field के अर्थ के आधार पर parsing, scale, formatting और color को अपने-आप तय करती है, जिससे low-level settings के बिना chart बनाए और बदले जा सकते हैं
  • Rank, YearMonth, Delta, Temperature जैसे semantic type के जरिए visual encoding के लिए ज़रूरी विस्तृत configuration का अनुमान लगाया जाता है
  • elastic layout model और banking principle के साथ size, spacing और placement को समायोजित किया जाता है; chart बढ़ने पर canvas फैलाया जाता है और band width घटाई जाती है ताकि dense composition को संभाला जा सके
  • Vega-Lite, ECharts, Chart.js, Plotly में 50 chart type को support करता है, और Office.js के जरिए editable native Excel chart भी बनाता है
  • एक ही interface में backend बदलते हुए ECharts के hierarchical sunburst, Plotly के statistical और analytical trace, और Excel की workbook के भीतर editing जैसी हर tool की ताकत का उपयोग किया जा सकता है

अर्थ-आधारित specification और automatic optimization

  • Flint Rank, YearMonth, Delta, Temperature जैसे data field के अर्थ को दिखाने वाले semantic type से parsing, scale, axis, formatting और color scheme का अनुमान लगाता है
    • गेम-वार और महीने-वार नए users में क्रमिक बढ़ोतरी को दिखाने वाले heatmap में game को Category, period को YearMonth, और newUsers को Profit के रूप में निर्दिष्ट किया जाता है
    • दिए गए अर्थ के अनुसार time value parser, axis formatting, diverging color scheme और midpoint अपने-आप तय हो जाते हैं
  • automatic layout optimization में elastic layout model और banking principle लागू कर canvas के मुताबिक size, spacing और placement को dynamically manage किया जाता है
    • जब grouped bar chart का sparse 5 × 3 layout बढ़कर dense 22 × 3 layout बनता है, तो canvas फैलाया जाता है और band width कम की जाती है
    • यह वैसा ही है जैसे spring किसी expandable container के भीतर अपनी जगह बना ले
  • नाज़ुक low-level parameter को सीधे संभाले बिना सिर्फ chart type बदलकर और visual encoding को फिर से जोड़कर design बदला जा सकता है
    • 2000 की US Census के gender और age के अनुसार population distribution दिखाने वाला faceted bar chart सिर्फ chart type बदलने से pyramid chart में बदल जाता है, और बाकी low-level settings compiler संभाल लेता है

backend support और हाल की releases

  • Vega-Lite, ECharts, Chart.js, Plotly में कुल 50 chart type को support करता है, और gallery में backend-वार 121 उदाहरण हैं
    • unified interface अलग-अलग backend के API और programming model को छिपा देता है
    • ECharts को hierarchical sunburst के लिए, और Plotly को statistical व analytical trace के लिए इस्तेमाल किया जा सकता है
    • Office.js के जरिए workbook में insert और edit किए जा सकने वाले native Excel chart output करता है
  • v0.4.0 ने 24 जुलाई 2026 को 38 Plotly chart type और 18 editable native Excel chart template जोड़े
  • v0.3.0 ने 19 जुलाई 2026 को chart type बदलने और properties को उसी जगह edit करने वाला dynamic chart widget जोड़ा
  • v0.2.2 ने 15 जुलाई 2026 को compact dodge mode और grouped violin layout जोड़ा

1 टिप्पणियां

 
GN⁺ 3 시간 전
Hacker News की राय
  • AI के दौर में भी मुझे लगता है कि ggplot का API सबसे अच्छा chart API है। “Grammar of Graphics” सिर्फ़ marketing phrase नहीं था, बल्कि हर संभव qualitative graphic को व्यक्त कर सकने वाली grammar सच में बनाने की कोशिश थी
    यह प्रक्रिया https://link.springer.com/book/10.1007/0-387-28695-0 में दर्ज है। कागज़ और पेन से बनाए जाने वाले पुराने graphs की पड़ताल करते हुए मुझे यह किताब मिली; ऑस्ट्रेलिया के केंद्रीय बैंक की 1960–1980 के दशक की annual report charts में अपना अलग चरित्र था, जबकि 2000 के शुरुआती वर्षों तक वे फीके Excel charts में बदल गए थे
    ggplot पुराने charts का आकर्षण पूरी तरह दोहरा नहीं पाता, फिर भी लगता है कि उसने जानकारी प्रस्तुत करने के तरीके से बहुत कुछ लिया है। Section 20.1 में Napoleon के Russia campaign को दिखाने वाले Minard graph को recreate किया गया है, और वैसा ही उदाहरण https://www.andrewheiss.com/blog/2017/08/10/exploring-minard... पर देखा जा सकता है
    pyplot और उसके ऊपर बने APIs की तुलना में output देखने में बेहतर लगता है, और pyplot में raster-based rendering और text handling की सीमाएँ काफ़ी बड़ी लगती हैं। ggplot R ecosystem में होने की वजह से software engineers के बीच कम जाना जाता है, लेकिन मैं चाहूँगा कि Node.js और Python ecosystems भी इस API से ज़्यादा सीखें

    • Wilkinson की Grammar of Graphics ने ggplot को प्रेरित किया था, और उस textbook में ggplot का ज़िक्र ही नहीं है
      उसी philosophy से प्रेरित होकर बनाया गया DSL Algraf भी公開 किया गया है: https://williamcotton.github.io/algraf/demos. Demo में Minard graph भी शामिल है
    • Python के लिए plotnine भी देखने लायक है: https://raw.githubusercontent.com/rstudio/cheatsheets/main/p...
      इसे RStudio से जुड़ी टीम ने विकसित किया, जहाँ ggplot बनाने वाले Hadley Wickham काम कर चुके थे, और अब इसे Posit का समर्थन मिलता है, जहाँ वे फिलहाल काम करते हैं
    • Vega-Lite backend की JSON specification भी मोटे तौर पर Grammar of Graphics के विचारों का अनुसरण करती है। हाल में HN पर पेश किया गया ggsql मुझे ज़्यादा पसंद आया: https://ggsql.org/
    • Grammar of Graphics की semantics इंसानों और agents, दोनों के लिए पहले से ही आदर्श है। ggsql इसे SQL user-defined functions के रूप में लागू करता है, जिससे agents इसे और आसानी से handle कर सकते हैं; इसलिए समझ नहीं आता कि Flint और क्या देता है
    • अगर हाथ से बनाए जैसा charm चाहिए और METAPOST इस्तेमाल करने को तैयार हैं, तो fiziko है: https://github.com/jemmybutton/fiziko
  • मैंने Flint और AI से सीधे Vega-Lite specification बनवाने, दोनों तरीकों का इस्तेमाल किया है; Flint बेहतर समाधान नहीं निकला
    पहले से तय chart types को low-level पर customize करने के लिए Flint ठीक है, लेकिन जब agent या sub-agent सीधे Vega specification बनाते हैं, तो time series के minimum/maximum values दिखाने या किसी खास event date के annotation markers जैसी चीज़ों के साथ कहीं अधिक flexible और उच्च-quality visualizations मिलती हैं
    हालांकि Vega-Lite को specification validation और ठोस guidance चाहिए, और bugs व अजीब व्यवहारों को लगातार handle करना पड़ता है। अगर chart creation को अलग skill के रूप में बनाए बिना जल्दी शुरू करना है, तो Flint ज़्यादा stable है

  • लगता है यह कई chart backends को एक interface से handle करने की कोशिश है, लेकिन अगर AI Flint लिख सकता है तो उससे सीधे backend code ही क्यों न लिखवाएँ? Backends को swappable बनाने की ज़रूरत स्पष्ट नहीं है
    हालांकि LLM के लिए simple API हो तो token efficiency बढ़ाने का फायदा हो सकता है

    • हर chart backend अलग-अलग types support करता है। अगर project example की तरह ECharts sunburst और Vega-Lite के faceted bar graph के बीच आसानी से switch किया जा सके, तो यह बहुत उपयोगी होगा
  • Microsoft/Flint-Chart को 2 जुलाई 2026 को भी पेश किया गया था: https://github.com/microsoft/flint-chart, https://news.ycombinator.com/item?id=48756577
    8 जुलाई को यह “Show HN: Microsoft releases Flint, a visualization language for AI agents” के रूप में फिर आया: https://microsoft.github.io/flint-chart/#/, https://news.ycombinator.com/item?id=48834924

  • बस “plotly से XYZ graph बना दो” कहने में समस्या क्या है?

    • automated data visualization में उस तरीके के लिए generated JavaScript या Python code चलाने वाला sandbox चाहिए। Flint जैसी specification हो तो validate करने के बाद सीधे render किया जा सकता है, और अगर LLM Vega-Lite की तुलना में Flint बेहतर generate करता है तो यह उपयोगी हो सकता है
  • 22 दिन पहले भी इस पर बड़े पैमाने की चर्चा हुई थी: https://news.ycombinator.com/item?id=48834924

  • AI के लिए DSL बहुत उचित नहीं लगता। Models मौजूदा graphics libraries पर trained हैं और पहले से ही उन्हें काफ़ी अच्छी तरह handle कर लेते हैं
    लंबी अवधि में Flint release करने के बाद labs ऐसे “graphics benchmarks” बना सकते हैं जिनसे models इस DSL पर overfit हों, लेकिन यह बहुत ज़्यादा काम लगता है

  • समझ नहीं आता abstraction किस स्तर के बाद ज़्यादा हो जाती है। Plotly या Plotly Express क्या पर्याप्त नहीं हैं, और एक और JSON specification कैसे नया युग शुरू कर देगी, यह सवाल है

  • दिलचस्प है, लेकिन सच में ज़रूरी है या नहीं, पता नहीं। Apache ECharts समेत पहले से बहुत-सी mature chart libraries मौजूद हैं, और अंत में यह मौजूदा पहिए को फिर से बनाने जैसा लगता है
    नया tool release होता है, फिर उसमें features जुड़ते जाते हैं, और फिर थोड़ा अलग design और syntax अपनाने वाला कोई और tool मूल tool की जगह ले लेता है—यह सिलसिला दोहराता रहता है
    hierarchical sunburst के लिए ECharts, statistical/analytical trend lines के लिए Plotly, workbook के अंदर edit किए जाने वाले charts के लिए Excel जैसे backend-specific strengths का भी इस्तेमाल किया जा सकता है। या फिर अपनी पसंद की एक chart library चुनकर उसकी capabilities ठीक से सीखना, कई libraries के presets मिलाकर बिना detailed tuning किए इस्तेमाल करने से बेहतर है