38 comments

  • akst12 hours ago
    Even in the Era AI, GGPlot&#x27;s API is still the best charting API. The name &quot;Grammar of Graphics&quot; isn&#x27;t just marketing, they literally sought to write a god damn grammar to was capable of expressing all possible qualitative graphics.<p>They even wrote a book about how they went about it (not that it speaks to the quality of the API) <a href="https:&#x2F;&#x2F;link.springer.com&#x2F;book&#x2F;10.1007&#x2F;0-387-28695-0" rel="nofollow">https:&#x2F;&#x2F;link.springer.com&#x2F;book&#x2F;10.1007&#x2F;0-387-28695-0</a><p>I actually stumbled upon this book when I was trying to look up how draftsmen (with pens and pencils on paper) did qualitative graphics as I found they had a lot of charm as opposed to modern charting libraries. It&#x27;s something I noticed when looking through a bunch of historical RBA (Reserve bank of Australia) annual reports, the 1960-1980 charts had a lot of character, but then you go into the early 2000s and its a stale chart from excel.<p>Anyways ggplot doesn&#x27;t really recapture the magic of those older charts, but it seems use quite a few of those as a baseline for how to communicate information. Like in figure 20.1 they talk about efforts to replicate older inforgraphics that showed Napoleon’s March on Russia, this graphic here (I think the example in the book is a bit nicer than the one in this blogpost IMO)<p><a href="https:&#x2F;&#x2F;www.andrewheiss.com&#x2F;blog&#x2F;2017&#x2F;08&#x2F;10&#x2F;exploring-minards-1812-plot-with-ggplot2&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.andrewheiss.com&#x2F;blog&#x2F;2017&#x2F;08&#x2F;10&#x2F;exploring-minard...</a><p>On top of the charts just look nicer than anything you could produce with pyplot (and any API built on top of it) as pyplot seems to be have some really limited raster based rendering or something and the text handling is incredibly limited, I&#x27;ve never had this issue in ggplot.<p>I feel like most software engineers aren&#x27;t exposed to because it exists in the R ecosystem which is more so data scientist, econometricians, statisticians and other quantitative data professions, but it definitely one of the nicer APIs and I wish more people in the node and python ecosystem copied their homework. I see vega&#x27;s full name is something to do with grammars, but idk it&#x27;s for the same reason.
    • williamcotton10 hours ago
      &gt; <i>They even wrote a book about how they went about it (not that it speaks to the quality of the API)</i><p>Wilkinson’s Grammar of Graphics inspired ggplot. The textbook doesn’t even mention ggplot.<p>Shameless plug for my own GoG inspired DSL, Algraf:<p><a href="https:&#x2F;&#x2F;williamcotton.github.io&#x2F;algraf&#x2F;demos" rel="nofollow">https:&#x2F;&#x2F;williamcotton.github.io&#x2F;algraf&#x2F;demos</a><p>There’s a Minard plot in the demos!
      • akst5 hours ago
        Oh… I assumed it was a further expansion of the ideas that with into ggplot as they all look like ggplot charts and ideas were identical<p>I wish I could edit my original comment to add this correction.
      • __jochen__5 hours ago
        nice, but did you expect it to not work on Safari (WASM fails)?
        • williamcotton5 hours ago
          Safari is my default browser and it seems to be working just fine!
    • jiehong10 hours ago
      To be fair, the Vega-lite backend is json mostly based on GG ideas.<p>In this vein, I think I prefer ggsql that made it to HN recently [0].<p>[0]: <a href="https:&#x2F;&#x2F;ggsql.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ggsql.org&#x2F;</a>
    • nylonstrung5 hours ago
      Yeah Grammar of Graphics semantics are already very ideal for both humans and agents alike. Ggsql is a recent project that implements it as SQL user defined functions which is even more agent friendly<p>I dont see what this brings to the table
    • WillAdams6 hours ago
      Well, for that hand-drawn charm if you&#x27;re willing to use METAPOST there is:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;jemmybutton&#x2F;fiziko" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jemmybutton&#x2F;fiziko</a>
    • porker10 hours ago
      How would you quantify the magic of these older charts? What is it that makes them have charm and character?
      • akst5 hours ago
        I made this a while back never finished it, but it’s a slide show of the different styles of graphics the RBA used over time<p><a href="https:&#x2F;&#x2F;x.com&#x2F;Angus_KST&#x2F;status&#x2F;2057757395196293262&#x2F;video&#x2F;1?s=46" rel="nofollow">https:&#x2F;&#x2F;x.com&#x2F;Angus_KST&#x2F;status&#x2F;2057757395196293262&#x2F;video&#x2F;1?s...</a><p>It’s incomplete but it show cases some of what I mean. There’s just a lot more charm in these earlier graphics. I’m fairly certain they had to consider how the different colours of ink bleed on one another.<p>Like take 1978 for example, this might be some kind of highlighter ink, and when the colours over lap the grid they interact in ways most overlapping geometry don’t in charting libraries (but in CSS you can get a similar effect with mix-blend-mode: multiply)<p><a href="https:&#x2F;&#x2F;www.rba.gov.au&#x2F;publications&#x2F;annual-reports&#x2F;rba&#x2F;1978&#x2F;fin-markets.html" rel="nofollow">https:&#x2F;&#x2F;www.rba.gov.au&#x2F;publications&#x2F;annual-reports&#x2F;rba&#x2F;1978&#x2F;...</a><p>If you go to page 159 of the most recent RBA report, you’ll see otherwise clean clear charts that do a good job of communicating the relevant information (perhaps that’s all there should do from such an institution), but it’s admittedly soulless compared to the charts from previous decades<p><a href="https:&#x2F;&#x2F;www.rba.gov.au&#x2F;publications&#x2F;annual-reports&#x2F;rba&#x2F;2025&#x2F;pdf&#x2F;rba-annual-report-2025.pdf" rel="nofollow">https:&#x2F;&#x2F;www.rba.gov.au&#x2F;publications&#x2F;annual-reports&#x2F;rba&#x2F;2025&#x2F;...</a>
      • zem8 hours ago
        not the parent, but one thing i find charming is that a lot of them have a really good feel for line weight and inking style, and vary it interestingly in various parts of the plot. computer generated charts tend to have a much more uniform line weight.
    • nialse11 hours ago
      Note that if you are affiliated with a University you probably can download a pdf of the book in the link for free.
      • akst10 hours ago
        Yeah that&#x27;s how I got a copy, found it on my unis digital library.
  • siliconc0w34 minutes ago
    DSLs for AI doesn&#x27;t really make sense- they were trained on existing graphics libraries and are pretty good at them.<p>Maybe a long term play would be putting this out and creating a &quot;graphics bench&quot; to entice the labs to overfit on your DSL but that seems like a lot of work
  • 1vuio0pswjnm71 hour ago
    02 Jul 2026 04:28:21 UTC<p>Microsoft&#x2F;Flint-Chart<p><a href="https:&#x2F;&#x2F;github.com&#x2F;microsoft&#x2F;flint-chart" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;microsoft&#x2F;flint-chart</a><p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48756577">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48756577</a><p>[ok]<p>08 Jul 2026 17:46:12 UTC<p>Show HN: Microsoft releases Flint, a visualization language for AI agents<p><a href="https:&#x2F;&#x2F;microsoft.github.io&#x2F;flint-chart&#x2F;#&#x2F;" rel="nofollow">https:&#x2F;&#x2F;microsoft.github.io&#x2F;flint-chart&#x2F;#&#x2F;</a><p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48834924">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48834924</a><p>[ok]
  • data-ottawa8 hours ago
    I have tried using Flint vs asking the AI to generate a Vega lite spec directly, and in my opinion Flint was not as nice of a solution.<p>Flint is fine for doing predetermined chat types, with very low customization. But I found using an agent or sub agent to create the Vega spec directly allowed for a lot more flexibility, and ultimately that means higher quality visualizations (stuff like adding points for min and max on a timeseries, or adding a callout marker for a date where some event happened).<p>That being said, with Vega lite you have to validate your chart specs, provide specific guidance, and play whack a mole with Vega bugs&#x2F;idiosyncrasies. So Flint is more reliable if you don’t want to dedicate a whole skill to making charts and want to get running quickly.
  • shepherdjerred11 hours ago
    So this is one interface that can render to multiple charting backends?<p>If AI is writing the &quot;Flint&quot;, why not just have it write the backend code instead? I&#x27;m not sure why I would want pluggable charting backends.<p>I can see an argument for providing simpler APIs for LLMs, though, so that it can be more token efficient for example.
    • awestroke9 hours ago
      Different charting backends support different kinds of charts. Being able to easily switch between &quot;ECharts Sunburst&quot; and &quot;Vega-Lite faceted bar&quot; - one of the examples on the project website - seems like a super useful ability.
      • scary-size8 hours ago
        Fair. How is this specific to the marketed AI integration? This could just be a unifying abstraction layer for a bunch of, in my opinion, verbose chart APIs. And then the LLM could just be the abstraction layer.
      • HawtAds9 hours ago
        Interesting, TanStack Charts was also released a couple days ago with a similar design.<p><a href="https:&#x2F;&#x2F;tanstack.com&#x2F;charts&#x2F;latest" rel="nofollow">https:&#x2F;&#x2F;tanstack.com&#x2F;charts&#x2F;latest</a>
        • chrisweekly4 hours ago
          Yeah I was going to share it too. I watched a yt video yesterday where Tanner talks about how (in contrast to trad component-based libs) it takes a very different approach to composition, letting D3 do the heavy lifting and using its visual grammar, and staying grounded in putting the data (not the component tree) first.
          • HawtAds1 hour ago
            I wish they would provide an ECharts backend, it&#x27;s probably one of the most performant and featureful charting libraries you can find.
  • thepoet12 hours ago
    An earlier larger discussion 22 days ago on this <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48834924">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48834924</a>
  • Imanari9 hours ago
    What is wrong with &quot;please make plot XYZ in plotly?&quot;
    • DespairTensor46 minutes ago
      If you&#x27;re doing automated data visualization, &quot;please make plot XYZ in plotly&quot; needs a sandbox to execute the JS or Python code. With something like this you can avoid it, you just validate it and plot it. If the LLMs are better at generating Flint than Vega-Lite specs then I see how the project can be useful.
    • xigoi7 hours ago
      A Microslop employee won’t get promoted for that.
  • refactor_master13 hours ago
    When does it get too abstract? What’s wrong with plotly? Or plotly express? How is yet another JSON spec era-anything?
  • infecto3 hours ago
    What is the point of this. I already can get an llm to draw charts using plotly, matplotlib, echarts, etc all the time. There will be always a better way but what does this buy us?
  • barryhennessy10 hours ago
    Maybe they’re not selling this well. Maybe they’re so close to the AI research that this seems like an obviously good idea.<p>But there’s not one word of why this is good for LLMs, or how they tested&#x2F;measured that.<p>My gut would tell me that a new solution put up against all the vega lite specs it’s already be trained on would be a hard thing to win.
  • woah13 hours ago
    Why is this &quot;for the AI era&quot;? Isn&#x27;t it kind of not for the AI era since an LLM can create a gnarly python or js chart of whatever you want in seconds?
    • orbital-decay10 hours ago
      It can write anything, but that&#x27;s not a guarantee it can easily read and comprehend it later
    • croes11 hours ago
      Nowadays you either create something with or for AI.<p>Like you created you own framework for wen apps before.<p>&quot;For the AI era&quot; is the necessary buzzword
  • boomskats7 hours ago
    This needs a side-by-side config comparison with something like echarts config schema format. I really don&#x27;t see the point.<p>I&#x27;m 99% sure the verbosity required in the system prompt to teach non-M$ models this new ever-so-slightly-different-but-not-obviously-necessary chart def abstraction format, and the iterations required to get it right, will outweigh any supposed efficiency gains resulting from using it.<p>Just stating the obvious.
    • StilesCrisis6 hours ago
      Feels to me like a preexisting project that pivoted their marketing pitch to AI.
    • fr20293 hours ago
      [dead]
  • anigbrowl12 hours ago
    It&#x27;s cool...but is it needed? I&#x27;m thinking of Apache echarts and any of many other mature charting libraries. Kinda seems like reinventing the wheel; thing gets released, thing gets more and more new features bolted onto it, eventually someone offers another thing that&#x27;s basically the original thing with some slightly different design and syntax opinions...<p><i>Switch backends to use their native strengths: ECharts for hierarchical sunbursts, Plotly for statistical and analytical traces, or Excel for editable charts embedded in a workbook.</i><p>Or just find a charting library that you like and actually get to know what it can do, vs mixing and matching presets from different libraries but never tweaking them.
  • xyzsparetimexyz11 hours ago
    This is just json right? One issue with llms right now it&#x27;s that if you give them a json specification, they&#x27;re not always amazing at following it. I think it makes sense to have an agent tool that takes llm json, a file name and a spec path and only writes out the file if it conforms.
    • mirashii10 hours ago
      &gt; give them a json specification, they&#x27;re not always amazing at following it<p>Used correctly, this hasn&#x27;t been true for a quite a while. Most inference engines have a form of grammar constrained decoding. See, for example: <a href="https:&#x2F;&#x2F;vllm.ai&#x2F;blog&#x2F;2025-01-14-struct-decode-intro" rel="nofollow">https:&#x2F;&#x2F;vllm.ai&#x2F;blog&#x2F;2025-01-14-struct-decode-intro</a>
      • xyzsparetimexyz8 hours ago
        I trust my setup a lot more than whatever this is.
  • zurfer9 hours ago
    If it&#x27;s made for LLMs, the spec should be yaml not json. Way more token efficient
    • garethrowlands1 hour ago
      It&#x27;s really not that simple. Yaml can be more token efficient but not necessarily. And it&#x27;s often not the biggest factor.
  • hncsiocp9x6 hours ago
    I&#x27;ve seen this play out plenty of times
  • yoz-y10 hours ago
    Every time I needed to do charts at work I had a conundrum. Libraries are aplenty but basically only plotly does everything, but it’s not the prettiest. I’d much rather developers contributed new features into existing libraries.
    • lenkite5 hours ago
      What does plotly do that other libraries don&#x27;t ?
  • stared5 hours ago
    &quot;A Visualization Language for the AI Era&quot;, as a tagline, sounds weird.<p>I had the best success with popular and versatile packages like matplotlib and ggplot2 - even 1.5 ago (vide <a href="https:&#x2F;&#x2F;quesma.com&#x2F;blog&#x2F;which-chart-would-you-swipe-right&#x2F;" rel="nofollow">https:&#x2F;&#x2F;quesma.com&#x2F;blog&#x2F;which-chart-would-you-swipe-right&#x2F;</a>).<p>Now, frankly, my go-to visualization package is React, sometimes with a pinch of D3.js (e.g. <a href="https:&#x2F;&#x2F;p.migdal.pl&#x2F;tree-of-tree&#x2F;" rel="nofollow">https:&#x2F;&#x2F;p.migdal.pl&#x2F;tree-of-tree&#x2F;</a>).
  • Culonavirus12 hours ago
    Yeah this is not needed and every single day it is needed even less.
  • vaniskey2 hours ago
    Why is this for the AI era&quot;?
  • cyanregiment7 hours ago
    What a waste of time over at Microsoft Research
  • Hawzen3 hours ago
    My conspiracy theory is that this was not related to AI in any capacity, but it was tacked on because <i>ai</i><p>The linked website has only two mentions of AI, and one of them is the title, the approach isn&#x27;t AI-centric in any meaningful sense either
  • williamcotton10 hours ago
    So a stringly typed JSON-based DSL without a linter or LSP?
  • block_dagger11 hours ago
    Does it do flowcharts and arch diagrams? Doesn’t seem like it.
  • slicendice11 hours ago
    Can it respond to my several open github tickets?
  • Alien1Being7 hours ago
    Give it a year and Microsoft will have abandoned it for some other shiny buzzword rich agentic slop ...
  • est11 hours ago
    unfortunately JSON is doomed to fail in &quot;the AI era&quot;<p>LLMs are surprisingly bad at generating JSON.
    • afro8811 hours ago
      Are they in 2026? I haven&#x27;t had an issue with json and LLMs in a long while
      • cyanregiment6 hours ago
        JSON, CSS, JS config files… for me it tends to omit fields and produce unwanted or duplicate ones.<p>But way less so in TS. Because the types&#x2F;interfaces are there to guide it further.<p>So everyone’s adding types everywhere: “Agent friendly”<p>What would a CSS type system look like !
        • lenkite5 hours ago
          I would love a CSS type system for humans. The language never stays in my brain for more than 2 weeks and then I have to re-learn it from scratch.
          • cyanregiment4 hours ago
            Same, and I guess it already is (pretty strongly) typed but yeah<p>&gt; for humans<p>And dare I say “agents” - it’d be nice to have very nuanced types
    • steve_adams_8610 hours ago
      You can use skills or harnesses to have them validate their json (using plain old JSON validation or schemas) and they seem to have a very high success rate with that gate in place. It&#x27;s slightly more tokens, but it&#x27;s reliable
    • kamikazeturtles11 hours ago
      Why is that?
  • Garlef8 hours ago
    idk ~ it&#x27;s either a bit thin or i&#x27;d expect something more substantial &quot;for the AI era&quot;<p>... as the kids would say: &quot;weak sauce&quot;<p>... and it&#x27;s just a tool to create charts not a &quot;visualization language&quot;<p>you could probably vibeslop a pipeline from some ad-hoc DSL to excel or pandas or R and get a better integration with your business context
  • simianparrot7 hours ago
    If &quot;AI&quot; was actually as capable as its salesmen claim, why can&#x27;t it just use whatever existing library is out there already?
  • dankobgd6 hours ago
    &quot;for the ai era&quot; == slop era
  • kburman13 hours ago
    [deleted]
    • teruakohatu13 hours ago
      Literally the first backend they mention is Vega-Lite.
  • myshapeprotocol3 hours ago
    [dead]
  • Adsnetworksucce7 hours ago
    [flagged]
  • hansmayer9 hours ago
    [dead]