- 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 अपने-आप तय हो जाते हैं
- गेम-वार और महीने-वार नए users में क्रमिक बढ़ोतरी को दिखाने वाले heatmap में
- automatic layout optimization में elastic layout model और banking principle लागू कर canvas के मुताबिक size, spacing और placement को dynamically manage किया जाता है
- जब grouped bar chart का sparse
5 × 3layout बढ़कर dense22 × 3layout बनता है, तो canvas फैलाया जाता है और band width कम की जाती है - यह वैसा ही है जैसे spring किसी expandable container के भीतर अपनी जगह बना ले
- जब grouped bar chart का sparse
- नाज़ुक 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 टिप्पणियां
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 से ज़्यादा सीखें
उसी philosophy से प्रेरित होकर बनाया गया DSL Algraf भी公開 किया गया है: https://williamcotton.github.io/algraf/demos. Demo में Minard graph भी शामिल है
इसे RStudio से जुड़ी टीम ने विकसित किया, जहाँ ggplot बनाने वाले Hadley Wickham काम कर चुके थे, और अब इसे Posit का समर्थन मिलता है, जहाँ वे फिलहाल काम करते हैं
मैंने 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 बढ़ाने का फायदा हो सकता है
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 बना दो” कहने में समस्या क्या है?
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 किए इस्तेमाल करने से बेहतर है