<script data-pm-proxy="intercept"></script><?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[FILWD]]></title><description><![CDATA[Weekly thoughts and learning bites on data visualization, anything data, and the role of AI in data science.]]></description><link>https://filwd.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!d6yB!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png</url><title>FILWD</title><link>https://filwd.substack.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 04 Sep 2026 20:54:43 GMT</lastBuildDate><atom:link href="/__u/filwd.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Enrico Bertini]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[filwd@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[filwd@substack.com]]></itunes:email><itunes:name><![CDATA[Enrico Bertini]]></itunes:name></itunes:owner><itunes:author><![CDATA[Enrico Bertini]]></itunes:author><googleplay:owner><![CDATA[filwd@substack.com]]></googleplay:owner><googleplay:email><![CDATA[filwd@substack.com]]></googleplay:email><googleplay:author><![CDATA[Enrico Bertini]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How I Used Claude To Create Charts for My Latest Course]]></title><description><![CDATA[A few tips on how to produce charts for your presentations.]]></description><link>https://filwd.substack.com/p/how-i-used-claude-to-create-charts</link><guid isPermaLink="false">https://filwd.substack.com/p/how-i-used-claude-to-create-charts</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Tue, 01 Sep 2026 12:02:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ykCu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recently, I again experienced the direct impact of AI on my work. I have been preparing a new online course, and this is the first time I have had the full power of multimodal AI in my hands while building it. In the past, creating data visualization examples to illustrate a concept was quite involved. There were three main options. First, use Google Search and Google Images to find the example I needed. Second, borrow the images from someone (a visualization designer or an instructor). Third, build the example by hand, typically using a mix of data visualization and drawing software (or coding). That step used to be super tedious, time-consuming, and imperfect, and it greatly limited what one could express. It also had the additional problem of style inconsistency. Each example looked quite different. I can&#8217;t remember if this ever happened to me, but it is entirely possible that in the past I decided not to cover a given concept because it would be too hard to represent. I also remember painstakingly drawing examples with vector drawing software to explain ideas about visual perception.</p><p>But now things are completely different. When I started developing the new course, I suddenly thought, &#8220;Wait a minute &#8230; I can ask Claude to do this for me.&#8221; And the more I tried, the more excited I became with the results. Let me describe why this is so powerful with a couple of examples.</p><p><strong>Example 1: Reproducing and extending an existing chart</strong></p><p>I wanted to reproduce the latest example of a truncated y-axis. But I wanted to show how it looks without truncation, and I also wanted to match the style I used for the other charts. Below, you can see the original chart and my reproduction/extension.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ykCu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ykCu!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png 424w, /__u/substackcdn.com/image/fetch/$s_!ykCu!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png 848w, /__u/substackcdn.com/image/fetch/$s_!ykCu!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ykCu!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ykCu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png" width="1838" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1838,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:581339,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/213563966?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa431c984-4dbf-4f4c-88d6-62b1057dd777_1838x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ykCu!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png 424w, /__u/substackcdn.com/image/fetch/$s_!ykCu!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png 848w, /__u/substackcdn.com/image/fetch/$s_!ykCu!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ykCu!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65708d69-d8d8-491e-9d52-aa32d929c6dd_1838x876.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Reproduction and extension of a real-world example of a truncated axis.</figcaption></figure></div><p><strong>Example 2: Developing a chart showing a specific pattern</strong></p><p>There&#8217;s a section of the course where I explore the idea of &#8220;visual patterns&#8221; and how some patterns jump out while others require deliberate inspection. After several attempts, I came up with this map that helps me show how patterns like big bubbles readily stand out, but others, such as blue bubbles surrounded by red bubbles or the other way around, require careful inspection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!czN6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!czN6!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png 424w, /__u/substackcdn.com/image/fetch/$s_!czN6!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png 848w, /__u/substackcdn.com/image/fetch/$s_!czN6!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png 1272w, /__u/substackcdn.com/image/fetch/$s_!czN6!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!czN6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png" width="584" height="451.009900990099" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6465c76-9d6f-4294-973a-5e195128a848_1212x936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:936,&quot;width&quot;:1212,&quot;resizeWidth&quot;:584,&quot;bytes&quot;:317263,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/213563966?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!czN6!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png 424w, /__u/substackcdn.com/image/fetch/$s_!czN6!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png 848w, /__u/substackcdn.com/image/fetch/$s_!czN6!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png 1272w, /__u/substackcdn.com/image/fetch/$s_!czN6!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6465c76-9d6f-4294-973a-5e195128a848_1212x936.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Map built with Claude AI to exemplify the idea of patterns that jump out and patterns that require deliberate inspection.</figcaption></figure></div><p><strong>Example 3: Creating different charts of the same data</strong></p><p>At some point I focused on how different charts can encode exactly the same data but produce completely different effects. The one I created shows how perception changes when visualizing time series with a bar chart vs. a line chart.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!h7mD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!h7mD!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png 424w, /__u/substackcdn.com/image/fetch/$s_!h7mD!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png 848w, /__u/substackcdn.com/image/fetch/$s_!h7mD!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png 1272w, /__u/substackcdn.com/image/fetch/$s_!h7mD!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!h7mD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png" width="1456" height="541" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:541,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150028,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/213563966?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!h7mD!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png 424w, /__u/substackcdn.com/image/fetch/$s_!h7mD!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png 848w, /__u/substackcdn.com/image/fetch/$s_!h7mD!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png 1272w, /__u/substackcdn.com/image/fetch/$s_!h7mD!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f0a745-e83f-4bf8-bac2-6f231682f7b1_1798x668.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Alternate visualizations of the same data. Time series presented as bar or line charts. Bars are hard to disentangle!</figcaption></figure></div><h3>Tips</h3><p>Here are a few tips I have gathered while developing the course.</p><ol><li><p><strong>Create a project (or use Claude Code)</strong>. Don&#8217;t rely on one single chat. Create a project. This way, you can use multiple agents in parallel (very useful!!) and progressively provide more context as the project develops. Note: I used the regular Claude web interface, but I could have done the same thing with Claude Code.</p></li><li><p><strong>Provide context.</strong> I gave Claude as much context as I could by uploading files such as the draft of the slides I had done (I normally develop draft slides without images and put placeholders where images should go) and any other document that described the project. As the project unfolded, I kept adding files and notes to the context to give Claude more specific instructions and information to consider (many of these I would certainly reuse as instructions in future projects).</p></li><li><p><strong>Create one separate chat/session for each chart or concept. </strong>Sifting through a long chat session is very tedious. If you cram everything in one place, you&#8217;ll find it hard to stay organized. But if you start a new chat for every chart or concept, you&#8217;ll be able to stay much more organized. Here, it is important to think about when in the future you might need to access these examples again; maybe for a new project or an update of your teaching material. Also, LLMs are known to degrade in performance the longer a chat goes on. So it&#8217;s good practice to start new chats for separate problems.</p></li><li><p><strong>Use synthetic data.</strong> When you ask Claude to produce a chat that depicts a given concept, it often tries to find a dataset that fits your idea and produces a chat with the data it finds (e.g., by retrieving a dataset from Our World in Data or the World Bank). Sometimes this is desirable, and sometimes you already have the data you want. But I've found that, in most cases, I want something specific that no real dataset can provide because I want to illustrate an effect, and that effect will be depicted much more clearly if I allow and instruct Claude to create a &#8220;fake&#8221; dataset for that purpose. The beauty of these tools is that they can manage synthetic data creation for a given purpose, and I found the flexibility synthetic data affords priceless.</p></li><li><p><strong>Reproduce existing examples (with proper attribution). </strong>Sometimes you have examples that you could use from previous courses, projects, or other people you know, or images you find through a web search. In those cases, what do you do? Do you use them directly or ask Claude to reproduce them? In my case, I decided to just cut and paste one or more images from the examples and ask Claude to reproduce them. There are two main reasons why I do it that way. First, I like the idea of charts that look stylistically similar. Second, I can edit the examples by adding or removing details as needed. Editing is crucial because sometimes you find an example that captures the logic you want to convey, but you are not entirely happy with a specific aspect of the example you found. In any case, when you use other people&#8217;s work, it is essential to add a note with proper attribution. In my case, I write something like, &#8220;Reproduced from &#8230; using Claude AI.&#8221; And I add a link to the original source.</p></li><li><p><strong>Add more context as you go.</strong> Sometimes you find that, to express a given concept, you can make Claude more powerful by providing additional context on the fly. For example, in a section of my course, I developed charts that depict the problem with double-axis charts. In those cases, I fed Claude a few web pages from data visualization authors who address the problem in ways that I like, so that I was sure it had the full context and the right direction. Also, as I refine my slides, sometimes I copy and paste them (as an image) to show Claude the text that goes in the slides I am building and, sometimes, the slides right before and right after. It takes a few seconds, and it adds useful context.</p></li><li><p><strong>Refine and be ready to discard.</strong> In most cases, Claude doesn't produce exactly what you want on the first try. This is normal and expected. Only after seeing a chart do you remember instructions you should have included in the first place. Or, more simply, Claude did not understand important aspects of your description. The most basic solution is to add more detail and instructions so Claude can produce what you want. But in some cases, it&#8217;s hard to describe the problem verbally when it pertains to a specific graphical aspect. For this reason, I often copy and paste the image produced by Claude and paste it back to Claude to tell it, &#8220;Hey, you see? This is the problem here!&#8217; And most of the time, it works quite well. There is a third situation. Sometimes Claude just can&#8217;t produce what you have in mind. In those cases, I find that starting from scratch and using a different strategy is better than trying to &#8220;force&#8221; Claude to obtain what you want within the existing thread. The problem is that the context Claude has in the current chat, or sometimes even in previous conversations, is the source of the problem, so you need to start with a blank slate.</p></li><li><p><strong>Stylistic consistency.</strong> If you don&#8217;t ask directly, Claude may use slightly different styles for different charts. In particular, it may use a given color palette in one chart and a different one in another. If you care about maintaining a consistent style, you have to ask Claude to use the same color palette or other stylistic elements across charts in the project. I am a big fan of <a href="https://colorbrewer2.org/#type=sequential&amp;scheme=BuGn&amp;n=3">ColorBrewer</a>, so I often ask Claude directly to use CB palettes with my charts.</p></li><li><p><strong>Annotations don&#8217;t work (yet).</strong> In some cases, Claude tries to add annotations to charts the same way a visualization designer would do to emphasize an element or explain a particular trend. Unfortunately, annotations still don't work well. Whenever I tried, Claude produced unusable images. I can&#8217;t tell whether Claude could do it better with more instructions. Honestly, annotations weren't super important in this project for me, so I didn't test it further. In any case, given the progress I have seen in the last year or two, I am pretty sure this will be solved soon.</p></li><li><p><strong>Run several sessions in parallel.</strong> Claude takes time to produce a response to your prompt when the result is a chart. Unless you want to be waiting all the time when you issue a new instruction, you can work on two or three examples at a time. Just be sure you don&#8217;t go overboard, because keeping track of too many things and constantly switching context is very tiring for our minds. I find that working on two examples in parallel is the right balance for me. I am also learning to just use the pauses more productively, maybe by standing up and walking a bit, stretching my limbs, or making coffee or tea.</p></li><li><p><strong>Give meaningful/memorable titles to the chats.</strong> This complements the idea of creating one separate chat for each chart. Think about when you&#8217;ll need to return to this project in the future. Naming your chart properly is crucial here! Unfortunately, I realized this too late, and I will be much more diligent in the future. Claude, like any other AI tool, will create a specific title based on the content. But a better approach for a project is to create a naming convention and use it consistently.</p></li><li><p><strong>Keep a link and use good titles.</strong> At development time, it&#8217;s easy to fall into a frantic production of charts and chat. One thing I've noticed with these AI tools is that it&#8217;s easy for our minds to branch out, create a million different threads, and get caught up in the frenzy. But deliberate use is much better. In particular, keep in mind that you may need to return to these sessions later and find what you are looking for. For example, if you realize there is a mistake in one of the images produced. So, a good practice is to keep track of which chat you used to develop a specific chart in your slides. My preferred choice is to add a link in the notes, but any other tracking mechanism works.</p></li></ol><p>I am looking forward to developing more courses in the near future. Right now, I'm developing a new course I will teach this fall on Statistics for Designers, and I'm excited to see how AI tools can help me create better images for my students. Other than creating images for slides, these tools can help develop incredibly powerful explainers for tricky concepts. I have been developing quite a few for visualization and statistics, and I'll definitely share some here as I develop more.</p><p>In the meantime, I hope you&#8217;ll test some of these ideas for yourself. If you have tried any of this before and have additional tips, please let me know!</p><p>One final note. I became more proficient with Claude Code only after developing this course. If I were to restart from scratch today, I would most probably use Claude Code rather than the standard chat interface. Code makes it much easier to create multiple agents working on parts of the problem and to track the images generated during the process. For example, I could have told Code to organize the produced images in a folder with specific names and structure to keep things organized. In any case, if you are more comfortable with the standard chat interface, feel free to use it. Just remember to create a project, add useful context, and develop a separate chat for each chart or concept.</p>]]></content:encoded></item><item><title><![CDATA[VisThink #3: Different Visuals, Different Messages]]></title><description><![CDATA[The way you represent data can greatly affect interpretation.]]></description><link>https://filwd.substack.com/p/visthink-3-different-visuals-different</link><guid isPermaLink="false">https://filwd.substack.com/p/visthink-3-different-visuals-different</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Tue, 17 Mar 2026 17:33:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8b9f912c-4351-486f-aac0-707a4baf6ffd_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In data visualization, we often focus on which chart is best for a given data set configuration, as if one chart is always better than another for that specific data set. For example, it&#8217;s not uncommon to hear the advice that, given a particular combination of variables, a given chart is &#8220;the best.&#8221; Comparison of categories? Bar chart. Trends over time? Line chart. Comparison of proportions? Stacked bars.</p><p>This mindset, however, overlooks one important fact: that for any given data combination, there is a staggering number of possible solutions, and some of these solutions can be equally valid depending on the specific context and goal.</p><p>There is more. In data visualization theory, designers are instructed to prioritize representations that &#8220;encode&#8221; information with the highest <strong>precision</strong> possible. For example, a well-established fact is that encoding quantity with bar length (as in bar charts) leads readers to extract values <em>more precisely</em> than if the same value is represented by the area of a circle or the color of a symbol (as in choropleth maps).</p><p>What these models overlook, however, is that different representations of the <em>same</em> data can lead people to focus on different aspects and thus extract different information. So <strong>the problem is not how precisely one can extract information, but what information is extracted in the first place</strong> when a person is shown a given representation.</p><p>A 1997 <a href="https://cdn.aaai.org/Symposia/Fall/1997/FS-97-03/FS97-03-018.pdf">study</a> by Zacks and Tversky provides empirical evidence for this idea. When people were shown a bar chart or a line chart depicting the same values, they tended to interpret the data differently. With bar charts, they tend to interpret them as a comparison of values, whereas with line charts, as a trend. Interestingly, people sometimes interpreted trends in line charts even when the underlying data were discrete.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hXbw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hXbw!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png 424w, /__u/substackcdn.com/image/fetch/$s_!hXbw!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png 848w, /__u/substackcdn.com/image/fetch/$s_!hXbw!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hXbw!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hXbw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png" width="449" height="362.9766355140187" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1038,&quot;width&quot;:1284,&quot;resizeWidth&quot;:449,&quot;bytes&quot;:490992,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/191271073?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!hXbw!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png 424w, /__u/substackcdn.com/image/fetch/$s_!hXbw!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png 848w, /__u/substackcdn.com/image/fetch/$s_!hXbw!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hXbw!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb76f3ba3-0070-4a76-b86e-0c0cbc36fd75_1284x1038.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Stimuli used in the classic Zacks and Tversky&#8217;s <a href="https://cdn.aaai.org/Symposia/Fall/1997/FS-97-03/FS97-03-018.pdf">study</a> on how people&#8217;s interpretation of the same information changes when switching from bars to lines.</figcaption></figure></div><p>My student, <a href="https://www.racquelfygenson.com/">Racquel Fygenson</a>, and I ran <a href="https://arxiv.org/pdf/2308.13321">a related experiment</a> a few years ago. We showed participants different representations of the same data and asked which representation best matched a given statement. What we found is that with simple variations, it&#8217;s quite easy to make one statement more strongly activated than another.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!XaRV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!XaRV!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png 424w, /__u/substackcdn.com/image/fetch/$s_!XaRV!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png 848w, /__u/substackcdn.com/image/fetch/$s_!XaRV!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png 1272w, /__u/substackcdn.com/image/fetch/$s_!XaRV!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!XaRV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png" width="644" height="108.84507042253522" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:216,&quot;width&quot;:1278,&quot;resizeWidth&quot;:644,&quot;bytes&quot;:52622,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/191271073?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!XaRV!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png 424w, /__u/substackcdn.com/image/fetch/$s_!XaRV!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png 848w, /__u/substackcdn.com/image/fetch/$s_!XaRV!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png 1272w, /__u/substackcdn.com/image/fetch/$s_!XaRV!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28419b34-b9cf-4831-ba98-67ab00d943f4_1278x216.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Example of one set of charts used in <a href="https://arxiv.org/pdf/2308.13321">Fygenson et al.'s paper</a> on how different arrangements make certain messages more obvious.</figcaption></figure></div><p>For example, in the experiment depicted above, we compared this set of stacked and grouped bar charts and then asked participants to select which chart makes these statements more obvious:</p><ol><li><p>&#8220;East companies&#8217; sales are 70% clips.&#8221;</p></li><li><p>&#8220;In the West, companies sold more clips than staples.&#8221;</p></li></ol><p>And what we found is that readers consistently select different charts, meaning that different charts are more apt for different messages, despite representing exactly the same data (with exactly the same visual primitives in this case).</p><p>The reality of data representation is that when we decide how to represent a given piece of information, we are implicitly telling our reader to look at a chart in a particular way, from a particular angle, and to extract a particular set of facts. The bad news is that we don&#8217;t have a practical full theory or model we can use to think about these effects systematically yet (my student <a href="https://www.racquelfygenson.com/">Racquel</a>, however, has made quite some strides in this direction with her work on visualization affordance - you should <a href="https://www.racquelfygenson.com/publications">check her work</a>!).</p><p>In the absence of a complete model here, I&#8217;ll offer three main classes of graphical variations of the same data that often affect interpretation: <em>spatial arrangement</em>, <em>scaling</em>, and <em>data-transforming reconfigurations</em>.</p><h1>Spatial arrangement</h1><p>By far the most impactful element in visualization is the use of space. When visualizations differ in terms of spatial configuration, you can rest assured that our eyes will parse the information differently. But how can visualizations arrange the <em>same</em> information in different ways? One way is by using different <strong>axis configurations</strong>. Most visualizations are based on a set of axes, and axes can often be configured in different ways. For example, axes can be orthogonal or parallel, positioned horizontally or vertically, rectilinear or polar, juxtaposed, overlayed, or nested. There are many possible variations. Take, for example, the chart mockups I created below.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!kY_P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!kY_P!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png 424w, /__u/substackcdn.com/image/fetch/$s_!kY_P!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png 848w, /__u/substackcdn.com/image/fetch/$s_!kY_P!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png 1272w, /__u/substackcdn.com/image/fetch/$s_!kY_P!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!kY_P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png" width="534" height="198.39583333333334" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a478488-d052-4451-a368-992091666a76_1152x428.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:428,&quot;width&quot;:1152,&quot;resizeWidth&quot;:534,&quot;bytes&quot;:60537,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/191271073?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!kY_P!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png 424w, /__u/substackcdn.com/image/fetch/$s_!kY_P!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png 848w, /__u/substackcdn.com/image/fetch/$s_!kY_P!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png 1272w, /__u/substackcdn.com/image/fetch/$s_!kY_P!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a478488-d052-4451-a368-992091666a76_1152x428.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Mockup showing how the same information can be depicted in many different ways using different arrangements.</figcaption></figure></div><p>They represent the same data but use different configurations, and as such, they can prompt the reader to extract different information.</p><p>Another common spatial variation is <strong>ordering</strong>. In many situations, the ordering of graphical elements in a visualization is arbitrary; therefore, the elements can be sorted using different criteria. The classic example is sorting a bar chart alphabetically or by ascending or descending values. You can rest assured that when sorting changes, our data processing changes as well. Sorting a bar chart is a simple change, but there are many other situations where sorting can have a very strong impact on interpretation.</p><h1>Scaling</h1><p>When we map a quantity to a visual feature, such as the length of a bar or the area of a bubble, we need to specify three elements: the data scale, the visual scale, and the mapping function. The <strong>data scale</strong> defines the minimum and maximum values considered in the data. The <strong>visual scale</strong> defines the minimum and maximum values used for graphical objects (e.g., the length of bars or the size of bubbles). The <strong>mapping function</strong> defines how to map data values to visual properties. Depending on how we define these values and the mapping function between data values and graphical properties, we can obtain radically different effects. For example, it makes a huge difference whether values are mapped to visual properties linearly or through another function. Similarly, it makes a big difference if we start the axis at zero or at the minimum value found in the data. The classic example of this effect is the &#8220;truncated axis&#8221; problem.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!MaCl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!MaCl!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png 424w, /__u/substackcdn.com/image/fetch/$s_!MaCl!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png 848w, /__u/substackcdn.com/image/fetch/$s_!MaCl!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png 1272w, /__u/substackcdn.com/image/fetch/$s_!MaCl!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!MaCl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png" width="337" height="229.72166666666666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1200,&quot;resizeWidth&quot;:337,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Truncating the Y-Axis: Threat or Menace? | by Michael Correll | Medium&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Truncating the Y-Axis: Threat or Menace? | by Michael Correll | Medium" title="Truncating the Y-Axis: Threat or Menace? | by Michael Correll | Medium" srcset="/__u/substackcdn.com/image/fetch/$s_!MaCl!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png 424w, /__u/substackcdn.com/image/fetch/$s_!MaCl!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png 848w, /__u/substackcdn.com/image/fetch/$s_!MaCl!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png 1272w, /__u/substackcdn.com/image/fetch/$s_!MaCl!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43e7304c-998d-48c1-a742-36a1791a2566_1200x818.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Classic example of the truncated axis problem. These two bar charts represent the same data: the one on the right starts the y-axis from zero, and the one on the left starts from a non-zero value. Taken from Michael Correll&#8217;s <a href="https://mcorrell.medium.com/truncating-the-y-axis-threat-or-menace-d0bce66d4d08">blog post</a> on this topic.</figcaption></figure></div><p>If we start the axis at a value greater than zero when creating a bar chart, we can significantly alter perceptions of differences between bars. But this problem is not restricted to bar charts, and it&#8217;s a general principle that applies to all mappings that exist between data values and graphical properties.</p><h1>Data-transforming reconfigurations</h1><p>In the previous sections, I stated that I am considering only how visual representations of the &#8220;same&#8221; information affect visual perception. The reality, however, is that often moving from one representation to another requires data transformations to accommodate the new representation. In other words, it&#8217;s not possible to use an alternative chart without transforming the underlying data first. Many of these cases exist. For example, a stacked bar or a pie chart requires transforming the values into proportions. A strip plot requires showing individual data points instead of aggregate statistics. A cumulative plot requires computing the running sum of all values.</p><p>A notable example is the cone-of-uncertainty plot and its alternative based on hypothetical trajectories. These plots have been studied extensively (e.g., in several studies by my colleague <a href="https://www.lacepadilla.com/">Lace Padilla</a>, like <a href="https://www.lacepadilla.com/assests/pdfs/Liuetal_2018.pdf">this one</a>), and the results of many studies indicate that people reach different conclusions depending on which one they use.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!bLDP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bLDP!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png 424w, /__u/substackcdn.com/image/fetch/$s_!bLDP!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png 848w, /__u/substackcdn.com/image/fetch/$s_!bLDP!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bLDP!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bLDP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png" width="1580" height="466" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:466,&quot;width&quot;:1580,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:404256,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/191271073?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf546384-170e-4db8-a932-91e83d5da6fa_1580x466.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!bLDP!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png 424w, /__u/substackcdn.com/image/fetch/$s_!bLDP!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png 848w, /__u/substackcdn.com/image/fetch/$s_!bLDP!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bLDP!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50e447d4-70ef-44aa-8bf0-e0bdeddb23fb_1580x466.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example showing alternative representations of the same data for forecasting. Taken from <a href="https://www.lacepadilla.com/assests/pdfs/Liuetal_2018.pdf">Liu et al.&#8217;s paper</a>.</figcaption></figure></div><p>We may informally describe these charts as alternative representations of the same data, in the sense that the source data is the same, but they do require different intermediate transformations. In all of these cases, the charts can change dramatically, and because of that, they can communicate completely different messages.</p><h1>Conclusions</h1><p>This third post in the &#8220;VisThink&#8221; series covered how visual representations may lead readers to extract different messages from the data. This kind of knowledge is useful for both readers and designers. Designers can use these concepts to reason more effectively about available choices and their potential effects on interpretation. Readers can read charts more critically because they can better understand how the visual design employed by the designer induces them to privilege some information over others. All of this complements the ideas presented in the previous two posts, which focused on assessing data quality and biases, and understanding the effects of data transformation to visual representation. Now, you are equipped with almost all the elements needed to critically evaluate any visualization. The only missing element is the elements that contribute to framing a visualization, namely, titles, annotations, etc.</p>]]></content:encoded></item><item><title><![CDATA[Using AI to Replicate (and Extend) Data Visualization Experiments]]></title><description><![CDATA[What happens when replicating a study is (almost) a few prompts away?]]></description><link>https://filwd.substack.com/p/using-ai-to-replicate-and-extend</link><guid isPermaLink="false">https://filwd.substack.com/p/using-ai-to-replicate-and-extend</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Thu, 05 Feb 2026 01:46:57 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ecce9f2a-fe9b-4533-9cb9-ae2fbe09fadc_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the last few weeks, I have been experimenting with another small AI project: how about trying to reproduce and perhaps even expand the stimuli (design solutions) tested in a data visualization study? My recent experiments with LLMs showed that it&#8217;s straightforward to create data visualization interfaces, so reproducing visualization designs explored in an experiment should be quite straightforward.</p><p>To test this idea, I decided to use one of my old papers titled &#8220;<a href="https://enrico.bertini.io/s/infovis17-word-clouds-apart.pdf">Taking Word Clouds Apart: An Empirical Investigation of the Design Space for Keyword Summaries.</a>&#8221; In that paper, we created a design space for keyword summaries, namely, a list of words that summarize a set of documents and that are assigned quantitative values to each word (e.g., frequency or relevance). The design space was organized around two main axes: <strong>spatial layout</strong> and <strong>value encoding</strong>.</p><p>For <strong>spatial layout</strong>, we had three options:</p><ul><li><p><strong>Column:</strong> arrange the words in columns</p></li><li><p><strong>Row:</strong> arrange the words in rows</p></li><li><p><strong>Spatial:</strong> arrange the words in a 2D &#8220;spiral&#8221; layout</p></li></ul><p>For <strong>value encoding</strong>, we had the following options:</p><ul><li><p><strong>No encoding:</strong> no value associated with the words</p></li><li><p><strong>Font size:</strong> font size encodes the value</p></li><li><p><strong>Color intensity:</strong> color intensity encodes the value</p></li><li><p><strong>Bar length:</strong> bar lengths encode the value</p></li><li><p><strong>Circle area:</strong> area size encodes the value</p></li></ul><p>A summary table with examples appears below.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VR9q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VR9q!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png 424w, /__u/substackcdn.com/image/fetch/$s_!VR9q!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png 848w, /__u/substackcdn.com/image/fetch/$s_!VR9q!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VR9q!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VR9q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png" width="608" height="268.0879120879121" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:642,&quot;width&quot;:1456,&quot;resizeWidth&quot;:608,&quot;bytes&quot;:352451,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/186900605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!VR9q!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png 424w, /__u/substackcdn.com/image/fetch/$s_!VR9q!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png 848w, /__u/substackcdn.com/image/fetch/$s_!VR9q!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VR9q!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3526cc7c-f204-4423-9d73-b4a7ce963575_1954x862.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How difficult is it to reproduce this design space? Not hard at all. The first step I took was to upload the paper to Claude to provide the necessary context.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!735q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!735q!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png 424w, /__u/substackcdn.com/image/fetch/$s_!735q!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png 848w, /__u/substackcdn.com/image/fetch/$s_!735q!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png 1272w, /__u/substackcdn.com/image/fetch/$s_!735q!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!735q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png" width="568" height="203.96363636363637" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:474,&quot;width&quot;:1320,&quot;resizeWidth&quot;:568,&quot;bytes&quot;:113975,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/186900605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!735q!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png 424w, /__u/substackcdn.com/image/fetch/$s_!735q!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png 848w, /__u/substackcdn.com/image/fetch/$s_!735q!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png 1272w, /__u/substackcdn.com/image/fetch/$s_!735q!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc697a22e-60d4-4e69-88d3-0b047ff8f5fe_1320x474.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Then I specified that I was specifically interested in replicating the experimental simuli and asked it to produce a little interactive artifact. The first result was already quite good, but I wanted to refine a few elements and eventually developed this useful simulator of keyword summaries.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Os9Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Os9Q!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png 424w, /__u/substackcdn.com/image/fetch/$s_!Os9Q!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png 848w, /__u/substackcdn.com/image/fetch/$s_!Os9Q!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Os9Q!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Os9Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png" width="524" height="423.95054945054943" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1178,&quot;width&quot;:1456,&quot;resizeWidth&quot;:524,&quot;bytes&quot;:240898,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/186900605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Os9Q!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png 424w, /__u/substackcdn.com/image/fetch/$s_!Os9Q!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png 848w, /__u/substackcdn.com/image/fetch/$s_!Os9Q!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Os9Q!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81a9d65a-32ac-456b-9a2e-9ac6b67a31f5_1836x1486.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s much more satisfying to see this in action. Take a look at the video I recorded below, and you&#8217;ll see how the mini-app looks and how easy it is to get a sense of how effective different types of combinations could be.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;28233538-9265-4c00-b0b4-053febf9f813&quot;,&quot;duration&quot;:null}"></div><p>One important pattern that I have observed while developing these mini-apps is that it is easy to generate ideas to expand on the original idea. For example, our initial space did not include color as a secondary variable to map onto the words, in addition to quantity. However, with LLMs, this requires only one additional prompt. This is an example of a keyword summary that employs an additional feature we did not anticipate in our paper.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!A47_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!A47_!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png 424w, /__u/substackcdn.com/image/fetch/$s_!A47_!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png 848w, /__u/substackcdn.com/image/fetch/$s_!A47_!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png 1272w, /__u/substackcdn.com/image/fetch/$s_!A47_!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!A47_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png" width="448" height="350.2089552238806" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:838,&quot;width&quot;:1072,&quot;resizeWidth&quot;:448,&quot;bytes&quot;:159978,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/186900605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!A47_!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png 424w, /__u/substackcdn.com/image/fetch/$s_!A47_!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png 848w, /__u/substackcdn.com/image/fetch/$s_!A47_!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png 1272w, /__u/substackcdn.com/image/fetch/$s_!A47_!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88b45ff-15c8-426f-a683-911bbac8a997_1072x838.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>What does this mean for the future of user studies?</strong> I do not have a definite answer; everything looks unpredictable lately. However, I know that reproducing experimental conditions has become increasingly easy, which could lead to more replications in the future. If you consider that subject recruitment can also be automated with platforms like Prolific, you can envision a time when going from idea to results could be surprisingly easy and quick. Add to this statistical analysis and reporting, and it&#8217;s not hard to imagine how we could soon have a proliferation of studies. Whether this is good or bad remains to be seen, but it seems clear that we are going in this direction.</p><p>And of course, <strong>this is not restricted to replication</strong>. The same logic can be applied to the design and deployment of new studies. Generate an idea; develop the experimental stimuli, tasks, and performance measures; implement the study; collect the results; and report the results. I am simplifying, but you see where I am going? It&#8217;s not that far-fetched!</p><p>I want to conclude with a related note. These small experiments led me to realize that design space exploration has become surprisingly straightforward. Since it&#8217;s now possible to quickly iterate on many ideas, it is also possible to quickly &#8220;experience&#8221; what a given visualization idea looks like. In turn, this makes it way easier to quickly pinpoint what is worth studying. Before the advent of LLMs, implementation was costly, and a lot of careful thought was required to determine what to test. But now you can just experience it with your eyes first and then decide. Again, the same question: is this good or bad? I tend to think this is good overall, but I am concerned that it can easily lead to sloppy or lazy work if one does not engage meaningfully with these tools.</p><p>And you? What do you think? Good/bad? Exciting/scary? Let me know what you think by leaving a comment below!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/using-ai-to-replicate-and-extend/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/using-ai-to-replicate-and-extend/comments"><span>Leave a comment</span></a></p><p></p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Misleading or Misinterpreted?]]></title><description><![CDATA[When things go astray, is it more the reader&#8217;s or the designer&#8217;s fault?]]></description><link>https://filwd.substack.com/p/misleading-or-misinterpreted</link><guid isPermaLink="false">https://filwd.substack.com/p/misleading-or-misinterpreted</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Wed, 28 Jan 2026 16:50:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/670be0fd-e80f-49c2-a233-681c229a66e5_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have been struggling with this for quite a while. Should we talk more about the ways visualization can be misleading or misinterpreted? It may seem irrelevant, but think about it for a moment:</p><ul><li><p>Misleading &#8594; Onus on the sender</p></li><li><p>Misinterpreted &#8594; Onus on the receiver</p></li></ul><p>It&#8217;s not an insignificant detail. When we label a visualization as misleading, we implicitly suggest that something is wrong with how the data is presented. Conversely, when we label a visualization as misinterpreted, we imply that the reader is at fault for misinterpreting the data.</p><p>While the two concepts seem separate, they are more closely linked than they appear. A visualization can lead readers to draw incorrect conclusions, but if a reader is attentive and sufficiently skilled, they can readily identify the problem. Conversely, a visualization may be fundamentally legitimate, yet the reader may draw incorrect conclusions due to a lack of necessary skills.</p><p>In visualization research, we tend to treat these two aspects separately. On the one hand, research on misleading visualization focuses on the mistakes designers make. On the other hand, research on visualization literacy focuses mostly on measuring people&#8217;s ability to interpret data from charts correctly.</p><p>This dichotomy between misleadingness and misinterpretation is important because, depending on where we focus, the interventions differ. Misleadingness leads us to focus on the information producer. How can we prevent or detect misleadingness? Misinterpretation leads us to focus on the consumer. How can we empower readers with the skills to reason effectively with charts?</p><p>If you think about it, an extreme view of misleadingness is that it&#8217;s nothing more than a lack of awareness and skills on the reader&#8217;s part. If something is misleading, the reader should be able to capture it. Of course, this is absurd, because we can&#8217;t expect everyone to have the highest possible data-reading skills. Also, designers and communicators have an ethical duty to convey information as objectively and transparently as possible.</p><p>Another extreme view is that if misinterpretation exists, it&#8217;s always the designer&#8217;s fault. This is also problematic for at least three main reasons. First, designers can&#8217;t possibly anticipate all the ways in which interpretation can go wrong. Second, they can&#8217;t design for a million different profiles. One solution could work for one person but not for another, so the &#8220;perfect&#8221; solution may not even exist. Third, every time a choice is made about what to represent and how, designers implicitly exclude other solutions, thereby potentially concealing information. There is no such thing as representing all the information there is. Designing is the act of choosing, and when you choose, you exclude.</p><p>There is more.</p><p>Let&#8217;s dig deeper into designers and readers.</p><h2>Designers</h2><p>Over many years of working in this space, I have become convinced that most misleading visualizations do not stem from malevolent intent. They stem from several factors that can co-occur and self-reinforce:</p><ul><li><p><strong>Lack of skills/awareness.</strong> The designer is unaware of a problem with their visualization. The problem stems from a lack of skills and awareness.</p></li><li><p><strong>Lack of time and other constraints.</strong> Many designers work in a fast-paced environment with many constraints. Above all, this is true in data journalism, where graphic editors must find a solution to a given data communication problem within a limited timeframe.</p></li><li><p><strong>Narrative-first thinking (motivated reasoning).</strong> Many people approach data visualization with a preconceived notion of what they want to show. Sometimes even before they dug into the data!</p></li></ul><p>I have also become convinced that many misleading visualizations stem more from specific choices of data set, statistics, and framing than from the visual representation one chooses to use. This indicates that an excessive focus on visual representation does not fully capture the problem, and both designers and readers should be aware of this.</p><p>There is a great paper that discusses exactly this idea, and I encourage everyone to read it. It&#8217;s titled &#8220;<a href="/__u/filwd.substack.com/%5Bhttps%3A//vdl.sci.utah.edu/publications/2023%255C_chi%255C_misleading/%5D(https://vdl.sci.utah.edu/publications/2023_chi_misleading/)">Misleading Beyond Visual Tricks: How People Actually Lie with Charts</a>,&#8221; and it&#8217;s one of my favorite papers of the last few years. </p><h2>Readers</h2><p>It is evident that a lack of awareness and skills is a significant factor in misleadingness and misinterpretation. Many experiments have shown that people struggle to read even basic charts correctly. If one cannot understand what a scatter plot is, how can we expect them to capture subtle misleadingness stemming from how the data was collected or the specific angle the author proposes?</p><p>Another important aspect, however, is the extent to which the reader is aware of the problem and willing to act on it. Somehow, what is lacking is often his 1) the notion that data is not necessarily objective, and 2) the skeptical attitude necessary to become a more critical thinker of data and charts.</p><p>In other words, while skills are important, awareness and attitude are even more important. I have no idea how to address this, but I think that visualization educators should create more materials and learning opportunities to cultivate this attitude and to understand how data can easily mislead people.</p><p>In my own little corner, this is exactly what I am trying to do with my research and my online courses. My course on &#8220;<a href="https://maven.com/filwd/vis-think">Thinking Effectively with Data Visualization</a>&#8221; is designed to develop that awareness and the skills needed to become a better data thinker. My hope is that I will be able to reach more and more people with this kind of material.</p><p>&#8212;</p><p>Of course, I can&#8217;t end this post without talking at least briefly about AI! I have been interested in how AI could play a positive role in this domain. As our information consumption becomes more and more mediated by dialogues with various types of AIs, will it be possible to have an AI to warn us about when our reasoning goes astray? Will LLM be capable of warning or guiding us? Maybe it&#8217;s far-fetched or maybe not. If you recall, I have been experimenting with LLM capabilities in this space. This is the post I wrote on this topic, and the results after only a few minutes of testing were not bad.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;61ab63d8-1a9e-48a5-930f-88a99881059b&quot;,&quot;caption&quot;:&quot;If you have been reading this newsletter for a while, you know that I have been playing with the latest AI tools to see what they can and cannot do with data visualization. In this post, I want to analyze AI capabilities from a new angle, the angle of reasoning with charts. One of the main ideas I have been pursuing in the last couple of years is how to&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can LLMs Detect Reasoning Errors with Charts?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-31T20:58:45.442Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9696ea-f44d-4f0a-96e2-887ec92afc3c_1832x1262.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/can-llms-detect-reasoning-errors&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:160278013,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:14,&quot;comment_count&quot;:9,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>This occurred approximately 10 months ago. I can imagine that reasoning capabilities might already have improved enormously.</p><p>&#8212;</p><p>And you? What do you think about this whole idea? Please let me know if this rather philosophical yet practical exploration sparked any interesting thoughts. Please leave a comment below and let me know! I am interested in hearing your thoughts.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/misleading-or-misinterpreted/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/misleading-or-misinterpreted/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Teaching Data Visualization with AI-Generated Explainers]]></title><description><![CDATA[Initial experiments on using AI to generate mini-apps that help us demonstrate useful concepts in data visualization.]]></description><link>https://filwd.substack.com/p/teaching-data-visualization-with-f5e</link><guid isPermaLink="false">https://filwd.substack.com/p/teaching-data-visualization-with-f5e</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Tue, 13 Jan 2026 19:05:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e199d260-00ad-4c1b-92a8-c2ff9b1e1904_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>During the break, I have been playing with Claude AI and Gemini to explore their software prototyping capabilities. Everything started because I needed to investigate a particular visualization problem, but as I progressed through my tests, I soon realized I could use the same method to teach my data visualization classes!</p><p>Let me take a step back. One of the biggest bottlenecks in teaching visualization is creating material that makes key data visualization concepts apparent. It goes without saying that when one teaches visualization, it is necessary to illustrate ideas through visual examples. The problem is that this need has always been limited by the graphical capabilities of existing tools and the amount of time an instructor could spend on creating new examples. This is why most instructors borrow from one another, use examples they find online and in books, and supplement with visuals created with drawing and charting tools. Creating these visuals has always been slow and tedious. Furthermore, existing tools did not support the easy creation of interactive explainers, which are particularly useful in visualization.</p><p>Take teaching color perception, for example. One has to introduce a number of theoretical concepts (<a href="https://en.wikipedia.org/wiki/Trichromacy">trichromacy theory</a>, <a href="https://pages.graphics.cs.wisc.edu/765-24/all-readings/readings04/">graphical encoding</a>, etc.), but eventually it&#8217;s necessary to show color in action. How do different choices affect color perception? How does proper color selection compare to suboptimal choices? How does a given color map look when used on a map, a line chart, or a scatter plot? These are all questions one can answer by showing the use of color with specific examples.</p><p>I suspect this is why tools like <a href="https://colorbrewer2.org/">Color Brewer</a> become so popular and fundamental in visualization pedagogy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!JYNm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!JYNm!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png 424w, /__u/substackcdn.com/image/fetch/$s_!JYNm!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png 848w, /__u/substackcdn.com/image/fetch/$s_!JYNm!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JYNm!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!JYNm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png" width="556" height="356.282967032967" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:933,&quot;width&quot;:1456,&quot;resizeWidth&quot;:556,&quot;bytes&quot;:587789,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/184456954?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!JYNm!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png 424w, /__u/substackcdn.com/image/fetch/$s_!JYNm!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png 848w, /__u/substackcdn.com/image/fetch/$s_!JYNm!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JYNm!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39982a8a-d08f-4c91-9b0c-733a2bd5ef5c_2066x1324.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Color Brewer helps you select color palettes for different visualization tasks. It&#8217;s by far one of the best standards and teaching tools we have in visualization.</figcaption></figure></div><p>You can select different color maps, change important parameters, and see the results immediately on a fictitious map. <strong>But now, building ten Color Brewers is only a few prompts away!</strong> Now I can feed Claude with a set of papers, my slides, a book chapter, or just a prompt, and ask it to build an interactive tool that exemplifies the main idea I want to illustrate. The first result is normally not great, but with a few prompts, I can quickly get to an amazing little interactive explainer.</p><p>Once you start thinking about what is possible, the opportunities are endless! Let me share an example I built a few days ago: <strong>a little app that demonstrates the concept of pre-attentive processing</strong>.</p><p>Pre-attentive processing is a concept that visualization researchers borrowed from vision science. The basic idea is that there are visual features we can perceive very quickly, anywhere they appear in our visual field, faster than the time it takes for our eyes to move. These features have been extensively studied in experiments in which a human subject is shown an image and has to determine whether a given target exists. Below is a classic example: deciding whether a red dot is present within a set of red dots, when the image is shown for only about 200 ms.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!xCJW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!xCJW!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png 424w, /__u/substackcdn.com/image/fetch/$s_!xCJW!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png 848w, /__u/substackcdn.com/image/fetch/$s_!xCJW!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png 1272w, /__u/substackcdn.com/image/fetch/$s_!xCJW!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!xCJW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png" width="372" height="373.42528735632186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1044,&quot;resizeWidth&quot;:372,&quot;bytes&quot;:73100,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/184456954?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!xCJW!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png 424w, /__u/substackcdn.com/image/fetch/$s_!xCJW!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png 848w, /__u/substackcdn.com/image/fetch/$s_!xCJW!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png 1272w, /__u/substackcdn.com/image/fetch/$s_!xCJW!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f931413-a70b-442f-a7ac-879d7529cf8e_1044x1048.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A classic setup used to study pre-attentive processing: the participant is shown images like the one below to determine whether a red dot is present. </figcaption></figure></div><p>Creating this little app took me very little time (overall, probably between 30 and 50 minutes) and a handful of prompts. Watch this short video to see what the final version of the applications looks like.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;471a4f2c-e309-4337-807a-5933c964aca8&quot;,&quot;duration&quot;:null}"></div><p>Interestingly, I started with a somewhat vague idea, but as soon as I saw the interface, ideas came to mind for how to make it different and better. This is something I noticed with these tools. Since it&#8217;s so easy to create an initial idea, it&#8217;s way easier to come up with better ideas because iteration is so cheap. It reminds me of exploratory data analysis, where at first you don&#8217;t have a good idea of what insights the data can reveal. However, as soon as you start visualizing it, new questions emerge, leading to better ways to visualize the data.</p><p>Pre-attentive processing is one example among many others that could be used to build teaching materials for data visualization. Others that come to mind are:&nbsp;<em>color perception</em>,&nbsp;<em>marks and channels</em>, and&nbsp;<em>integral and separable dimensions</em>, but I am sure there are many, many more to explore. Our curiosity is the limit!</p><p>In fact, it may now be possible to build an online repository of these explainers for use in courses. The benefit could be immense if there is enough adoption.</p><p>After reading this, please give it a try and let me know how it went for you. Are there any specific data visualization concepts that could be taught with a little app built with an LLM? I&#8217;d be happy to explore more. Feel free to leave a comment if you want to suggest an explainer or if you develop one yourself!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/teaching-data-visualization-with-f5e/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/teaching-data-visualization-with-f5e/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[FILWD Year in Review 2025]]></title><description><![CDATA[Main themes and trends. Viral posts. Free webinars. Future plans.]]></description><link>https://filwd.substack.com/p/filwd-year-in-review-2025</link><guid isPermaLink="false">https://filwd.substack.com/p/filwd-year-in-review-2025</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Wed, 31 Dec 2025 19:54:06 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5306d6a6-0e44-469f-a432-f95213801c5b_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Happy New Year!! &#129395;</p><p>I can&#8217;t believe another whole year has passed. In these cozy days between Christmas and New Year, I am taking some time to reflect on what I have accomplished and what I would like to do in the new year. This year has been quite different from the previous year for this newsletter. I have struggled much more to be consistent with my writing, but at the same time, I am happy with the quality of what I have written and the educational material I have developed. </p><h2>Main Themes</h2><p>In 2025, I published 29 posts. Far fewer than last year&#8217;s 50 posts, but still a lot of food for thought.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!YQjg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!YQjg!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png 424w, /__u/substackcdn.com/image/fetch/$s_!YQjg!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png 848w, /__u/substackcdn.com/image/fetch/$s_!YQjg!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YQjg!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!YQjg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png" width="1456" height="387" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/caf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:387,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49964,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/182525086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!YQjg!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png 424w, /__u/substackcdn.com/image/fetch/$s_!YQjg!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png 848w, /__u/substackcdn.com/image/fetch/$s_!YQjg!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YQjg!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf9dd6e-472d-43f3-aae5-40bdc77ec72c_1618x430.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The whole set of posts I published in 2025, organized by main topic. I focused on AI, my Maven course, and &#8220;Thinking with Visualization.&#8221;</figcaption></figure></div><p>Looking at the main topics, it is clear that my main focus has been on:</p><ul><li><p><strong>AI and Vis.</strong> Surprising eh?! AI has become simply to big to ignore. While I am often fatigued by how much of the ongoing conversation is always about it, I have also been enjoying experimenting and learning what AI can do for data science and visualization. </p></li><li><p><strong>Thinking with visualization.</strong> This is the topic closest to my heart and the drum I have been beating for a while. I truly believe that learning how to think with data is a big mission and you will see more of it here.</p></li><li><p><strong>My online teaching services.</strong> A sizeable number of posts have been devoted to promoting my course on Maven. All the red dots are about me doing my best to let you know about the learning opportunity I had to offer.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!gHyi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!gHyi!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png 424w, /__u/substackcdn.com/image/fetch/$s_!gHyi!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png 848w, /__u/substackcdn.com/image/fetch/$s_!gHyi!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png 1272w, /__u/substackcdn.com/image/fetch/$s_!gHyi!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!gHyi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png" width="458" height="166.8316151202749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f293b304-54ff-4660-826b-dd0244f6c256_1164x424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:1164,&quot;resizeWidth&quot;:458,&quot;bytes&quot;:25167,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/182525086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!gHyi!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png 424w, /__u/substackcdn.com/image/fetch/$s_!gHyi!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png 848w, /__u/substackcdn.com/image/fetch/$s_!gHyi!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png 1272w, /__u/substackcdn.com/image/fetch/$s_!gHyi!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff293b304-54ff-4660-826b-dd0244f6c256_1164x424.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Proportion of posts written in 2025 by topic. My focus has been on AI, Thinking with Visualization, and my Maven course.</figcaption></figure></div><p>Somehow, I have been struggling much more with my posting frequency. I don&#8217;t know if it was more about being overwhelmed by my focus on developing and promoting my online course, or just general fatigue. Looking at my posting timeline, it seems the summer months have been the hardest (maybe I was just slacking off?), and overall, I really struggled to maintain my four posts a month schedule.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!rL5X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!rL5X!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png 424w, /__u/substackcdn.com/image/fetch/$s_!rL5X!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png 848w, /__u/substackcdn.com/image/fetch/$s_!rL5X!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rL5X!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!rL5X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png" width="586" height="164.6067415730337" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:1424,&quot;resizeWidth&quot;:586,&quot;bytes&quot;:27793,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/182525086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!rL5X!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png 424w, /__u/substackcdn.com/image/fetch/$s_!rL5X!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png 848w, /__u/substackcdn.com/image/fetch/$s_!rL5X!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rL5X!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b556b9c-cbe2-4589-8ff5-4d97dbead9d8_1424x400.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Number of posts for each month of the year. Only rarely have I been able to keep up with my goal of four posts a month.</figcaption></figure></div><p>Overall, I am happy that I have been focusing on a few topics. I think that going deeper into one or two areas is more effective than trying to cover a few random topics.</p><h2>Top Posts</h2><p>Looking at the raw statistics on Substack, two posts stand out as receiving far more attention than the others. The first one is the post in the &#8220;Illusion of Causality.&#8221; Somebody&nbsp;<a href="https://news.ycombinator.com/item?id=44118718">posted this article on Hacker News,</a>&nbsp;and it picked up like crazy!</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3ff06a93-8dac-4480-a85e-c03c4f98c038&quot;,&quot;caption&quot;:&quot;A while back, I wrote an article here titled &#8220;Implied Causality in Line Charts.&#8221; The article examined the notion that certain charts imply a causal relationship between an event and an outcome, when such a relationship may not actually exist. In that post, I used line charts as a running example. I identified three ways in which line charts can suggest &#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Illusion of Causality in Charts&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-25T13:01:18.656Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3a9109f-ebe8-4ac2-8f68-ebe1a74f803b_838x558.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/the-illusion-of-causality-in-charts&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:164304876,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:39,&quot;comment_count&quot;:10,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I am quite happy with this article because it highlights an underexplored problem with significant impact. We are surrounded by data communication that purports to &#8220;demonstrate&#8221; that A causes B, either explicitly or implicitly, but most of the time, such claims are unwarranted. Learning how to detect these patterns in charts is crucial. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7fd54a9c-350f-4126-b48b-6349655c79f2&quot;,&quot;caption&quot;:&quot;Hi folks! I hope you are enjoying the last bits of summer. Here I am busy preparing for the two courses I&#8217;ll teach this semester at Northeastern University. One of these courses is new and completely devoted to the intersection of Data Visualization and Generative AI. The first half of the course is devoted to reading research papers on this topic. Here&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;A Reading List on GenAI for Data Visualization&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-04T04:07:16.352Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/955ca878-b931-405e-9695-c85f8ebb6a08_722x722.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/a-reading-list-on-genai-for-data&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:172269249,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:32,&quot;comment_count&quot;:10,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>The second post that went viral is this one on GenAI and visualization. I created this list for my course and thought it would be useful to share it with the world. Of course, these days it&#8217;s not hard to attract people&#8217;s attention with anything related to AI, but this post turned out to be very useful to many people.</p><h2>Free Webinars</h2><p>In the context of my online course &#8220;<a href="https://maven.com/filwd/vis-think">Thinking Effectively with Data Visualization</a>,&#8221; I created a total of five free webinars. You can watch them by clicking the links below!</p><ul><li><p><a href="https://maven.com/p/0addb1/same-data-different-charts-how-visuals-shape-data-messages?utm_medium=ll_share_link&amp;utm_source=instructor">Same Data, Different Charts: How Visuals Shape Data Messages</a></p></li><li><p><a href="https://maven.com/p/60a5f9/can-you-trust-it-4-ways-data-visualizations-mislead?utm_campaign=NDk3ODY2&amp;utm_medium=ll_share_link&amp;utm_source=instructor">Can You Trust It? 4 Ways Data Visualizations Mislead</a></p></li><li><p><a href="https://maven.com/p/d1a4ec/don-t-get-fooled-avoid-the-illusion-of-causality-in-charts?utm_campaign=NDk3ODY2&amp;utm_medium=ll_share_link&amp;utm_source=instructor">Don&#8217;t Get Fooled! Avoid The Illusion of Causality in Charts</a></p></li><li><p><a href="https://maven.com/p/55ea1c/how-not-to-lie-with-charts?utm_campaign=NDk3ODY2&amp;utm_medium=ll_share_link&amp;utm_source=instructor">How NOT to Lie with Charts</a></p></li><li><p><a href="https://maven.com/p/6d4d2c/don-t-take-numbers-at-face-value-bad-data-ruins-good-charts?utm_campaign=NDk3ODY2&amp;utm_medium=ll_share_link&amp;utm_source=instructor">Don&#8217;t Take Numbers at Face Value: Bad Data Ruins Good Charts</a></p></li></ul><p>I am super excited about how well attended these webinars have been (I had hundreds of people sign up) and the feedback I received. Next year I plan to keep organizing more of these seminars so stay tuned.</p><h2>Plans for Year 2026</h2><p>In the new year, I&#8217;d like to keep going back to my weekly post schedule. I want to keep writing about &#8220;thinking with data,&#8221; explaining why this is important and what we can do about it. I will keep exploring the intersection of data visualization and AI. For sure, you will see more experiments, but also more about how to use visualization to understand AI. I still have a series I started on this topic that I never completed due to the massive changes that happened recently. You will also continue to see educational offerings, but I am considering a new format to explore. Maybe I&#8217;ll try to provide more opportunities for hands-on work. Finally, I want to revive my interviews! In 2025, I recorded only one interview, and I wish I had done more!</p><p>And how about you? Please let me know your aspirations and whether thereis anything specific you&#8217;d like me to do with the newsletter. I&#8217;d be happy to receive requests!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/filwd-year-in-review-2025/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/filwd-year-in-review-2025/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Using Data Visualization To Understand How LLMs “Think”]]></title><description><![CDATA[Reflections after attending a colleague's talk and examples of how visualization can help understand LLMs]]></description><link>https://filwd.substack.com/p/using-data-visualization-to-understand</link><guid isPermaLink="false">https://filwd.substack.com/p/using-data-visualization-to-understand</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Fri, 12 Dec 2025 15:01:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FnlA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>(I know, I know &#8230; I am not supposed to anthropomorphize AI, but you must admit the title is quite catchy this way! For partial absolution, at least I put &#8220;think&#8221; in quotes!)</p><p>I attended a seminar by my colleague, <a href="https://baulab.info/">David Bau</a>, the other day, that got me thinking. David and his group work in an area of machine learning some call &#8220;<a href="https://en.wikipedia.org/wiki/Mechanistic_interpretability">mechanistic interpretability</a>.&#8221; In this area, researchers examine models like those behind popular AI chatbots to understand how they work.</p><p>You may ask, &#8220;Why do we need to do that? If somebody built it, they must also know how they work, no?&#8221; The answer to this question is no. The reason why we don&#8217;t know how they work is twofold. First, models are trained on massive amounts of data, so the behavior they display is not &#8220;engineered&#8221; but learned from the data they are fed. Second, and probably more mind-blowing, the behavior we experience is an emergent property of a relatively simple prediction task, which is about predicting the next word in a sentence (the prompt you write when you write something in your favorite LLM). Let me repeat this last concept. All the amazing answers you receive from AI chatbots result from systems trained to do one thing: predict the next word. These systems have not been engineered by someone expecting these models to behave so coherently and to perform these amazing features. It was in all regards a &#8220;discovery.&#8221;</p><p>Why does this whole premise matter? It does because my colleague David, as well as many other brilliant scientists, study how these AI models work. In a way, and this is what I find most fascinating, humans have invented machines that we now need to study the same way we&#8217;ve been studying natural phenomena. The parallel with biology, or even more with neuroscience, is staggering. When we don&#8217;t know how something works, we start observing, prodding, hypothesizing, and looking closely until we can explain it and predict how it will behave. And this is what a small group of scientists like David is doing with AI models: they put them metaphorically &#8220;under the microscope&#8221; to derive and test hypotheses about how they work. This entire area of research is called &#8220;mechanistic interpretability,&#8221; and it&#8217;s a small niche full of dedicated people. If you want to get a taste of what this research looks like, take a look at the work done at Anthropic and Google PAIR, where researchers have been studying ML models for years.</p><h2>An example: The Logit Lens</h2><p>David presented a tool they developed called Logit Lens. You can see an example of the main data visualization the tool uses. This tool&#8217;s goal is to understand how information is processed within a transformer model, the backbone of modern language-based generative AI. Without going too much into the details, these models work as follows: given a piece of text, they predict the next word, then they use the new sentence containing the new word as an input to create another word until a stopping condition is met. This is what happens when you use your favorite AI tools.</p><p>The visualization below shows how this information is processed internally by the network.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!FnlA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!FnlA!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png 424w, /__u/substackcdn.com/image/fetch/$s_!FnlA!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png 848w, /__u/substackcdn.com/image/fetch/$s_!FnlA!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png 1272w, /__u/substackcdn.com/image/fetch/$s_!FnlA!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!FnlA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png" width="1456" height="921" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:921,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:251459,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/181071010?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!FnlA!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png 424w, /__u/substackcdn.com/image/fetch/$s_!FnlA!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png 848w, /__u/substackcdn.com/image/fetch/$s_!FnlA!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png 1272w, /__u/substackcdn.com/image/fetch/$s_!FnlA!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2697303c-79eb-4f47-b20b-47aea2d2721a_1464x926.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Logit Lens technique to understand how a transformer model (the LLM) processes text to produce the prediction of the next token.</figcaption></figure></div><p>The rows represent the tokens fed into the model. This is the equivalent of the prompt you write when you ask something to tools like ChatGPT (in many models, words are further split into smaller parts rather than whole words, as in the figure). The columns represent the layers of data processing steps that exist internally in a transformer model. In these layers, information is processed to capture increasingly abstract concepts. The words you see inside each cell are a representation of the main concept taking place within the network at the corresponding level. If you wish, you can interpret each word as what the network predicts as the most probable next token in that specific location of the network. The last row is very important because it represents what the model would predict if the computation were stopped there, at that layer. The bottom-right cell is even more important because it contains the actual prediction of the last word.</p><p>Let&#8217;s analyze the figure above a bit more closely. I typed &#8220;I like to drink tea with a bit of,&#8221; and the next word prediction (check the bottom-right cell) is &#8220;milk,&#8221; which makes a lot of sense. If you look at what the network predicts in the previous layers (see the last row), you&#8217;ll see it&#8217;s &#8220;sugar&#8221; until almost the end, then it switches to &#8220;milk.&#8221; If you look at the last column, you can also see what the model predicts as the next token at the previous step, as if I had not provided the full prompt. Check two rows to the last, which corresponds to writing the prompt &#8220;I like to drink tea with a,&#8221; and you&#8217;ll see that the model prediction is &#8220;friend,&#8221; which is quite plausible.</p><p>I hope this gives you a glimpse of how tools like the Logit Lens can help us understand how these models predict and reason about the input we provide.</p><p>If you want to learn more about how the Logit Lens idea works, I strongly suggest reading <a href="https://www.lesswrong.com/posts/AcKRB8wDpdaN6v6ru/interpreting-gpt-the-logit-lens">this essay on Less Wrong</a>, which provides a more detailed explanation of the technique and several examples of insights one can derive from it.</p><h2>What&#8217;s the role of visualization here?</h2><p>After showing the examples above, I think it&#8217;s not too hard to imagine that data visualization could play a role here. Neural networks are complex objects that process a staggering amount of data. When you have plenty of data, vague goals, and the need to generate new hypotheses and intuitions, visualization is the most powerful tool in the data toolbox.</p><p>Visualization researchers have developed many techniques over the years to understand other types of neural networks, and new methods are being developed every day. However, my cursory look at the visualization academic community suggests that there is still too little focus on the problems of mechanistic interpretability. The most exciting work seems to come from industry labs rather than academia. Maybe a reflection of the fact that we don&#8217;t have easy access to production models and compute.</p><p>However, I am convinced that visualization can play a big role in this space. I have been interacting with my colleagues over the last few weeks and have been able to provide useful advice on visualization design. Visualization experts can help at least with three bottlenecks I see.</p><ol><li><p><strong>Scalability</strong>. The amount of data AI models must handle is enormous. Making visual representations scalable is an old problem with many potential angles of attack. Visualization experts can suggest ways to navigate and summarize large quantities of data in meaningful ways.</p></li><li><p><strong>Abstraction</strong>. Visualization is not only about mapping data to graphical representations but also about designing useful abstractions and metaphors. Visualizing data processing in neural networks requires developing such abstractions, and visualization researchers are accustomed to inventing them.</p></li><li><p><strong>Interactivity</strong>. When data is complex, large, multidimensional, and multimodal, there&#8217;s no single representation that can help answer all the questions. Interactivity is crucial in these cases because it helps define clear goals and adapt visual representations accordingly. Again, this is what visualization researchers have studied for almost 50 years and are well-equipped to suggest and invent clever interactive solutions to investigate complex neural networks.</p></li></ol><p>While visualization researchers have developed many solutions for visualizing neural networks, there is still relatively little awareness of &#8220;mechanistic interpretability&#8221; and the fantastic opportunities that exist when focusing on supporting researchers who study how generative AI models work.</p><p>I hope to see more people involved in this area. I am myself moving first steps in this direction, and I hope I&#8217;ll be able to write about my progress here. Let me know what you think!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/using-data-visualization-to-understand/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/using-data-visualization-to-understand/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Monthly Update: November, 2025]]></title><description><![CDATA[Summary of posts. Update on my VisThink course on Maven. Future plans.]]></description><link>https://filwd.substack.com/p/monthly-update-november-2025</link><guid isPermaLink="false">https://filwd.substack.com/p/monthly-update-november-2025</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Mon, 01 Dec 2025 03:41:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am writing this after a few days of proper Thanksgiving break. Having a few days off has been so good! This is the time of the year when I feel like I am getting close to the end of my rope. But it&#8217;s also a good time to look back and see what I have done from the beginning of the semester up to now. I am always amazed to see how neat and energizing everything looks in September, and how, by this time of year, everything seems to be screeching.</p><p>Anyway, since my last update, I have published four new posts. The first one was a new entry in <a href="/__u/filwd.substack.com/s/visthink">my series on &#8220;Thinking with Data Visualization.&#8221;</a></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b9a0cf33-5952-43be-aa37-551afb4f0635&quot;,&quot;caption&quot;:&quot;This is post #3 of my VisThink series on &#8220;Thinking Effectively with Data Visualization.&#8221; All the posts in the series are collected here: &#128073; VisThink Series.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Data is Malleable. You Give It the Right Shape!&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-28T22:50:48.240Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f717491d-52be-4b1e-847e-1b6d039cffbc_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/data-is-malleable-you-give-it-the&quot;,&quot;section_name&quot;:&quot;VisThink&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:177407863,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:0,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>In this post, I focus on the role data transformation plays in visualization and how the way data is transformed influences interpretation. The main message is that data is extremely malleable, and data visualization designers must handle this aspect carefully, because inappropriate calculations can lead to many troubles.</p><p>The second post was another one on the use of AI in visualization. This time, focusing on the transparency problem.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;edc185f2-4343-4f58-b5e6-5e42afc3a056&quot;,&quot;caption&quot;:&quot;One of the biggest hurdles for AI-driven data visualization is the lack of transparency in current implementations. All the LLMs I have tested so far convert your prompt directly into a chart (actually generating code that produces the charts). That is, you upload the dataset, ask a question, and the LLM generates a chart (or another form of output) for&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Escaping the Black-Box: Two Strategies for Transparent AI-Driven Data Visualization&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-30T14:23:24.571Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b60f8527-c0f2-4488-a7af-e8a846fd2e1c_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/escaping-the-black-box-two-strategies&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177565676,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:1,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>While I have touched on this problem before, in this post, I go deeper into recent techniques for addressing transparency issues in LLM-generated data pipelines.</p><p>This post pairs well with the latest post I published, which is also about AI.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d34dc145-d019-4d35-926d-4de16f28a942&quot;,&quot;caption&quot;:&quot;When you work with AI chatbots to carry out data analysis and visualization tasks, the main limitation is often your imagination. The more I experiment with LLMs&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Things You Can Now Ask an AI When Working With Data&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-11-18T14:31:00.659Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Zr9G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/things-you-can-now-ask-an-ai-when&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:179042286,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:3,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>In this one, I focus on something I have noticed while performing visual data analysis with ChatGPT and other common AI tools. LLMs have made it possible to do things with data that were previously impossible or at least very hard. In the post, I talk about what these things are and my experience with them.</p><p>Finally, in mid-November, I also posted a personal selection of presentations I have attended at the IEEE VIS conference.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d8bda7cf-379d-4185-ae71-ff3aaa931006&quot;,&quot;caption&quot;:&quot;Last week I attended the IEEE VIS conference in Vienna, the premier conference for data visualization research. It&#8217;s been a whole whirlwind of events, presentations, exhibitions, conversations, etc. The program has grown so large that it is impossible to&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Presentation/Paper Highlights from IEEE VIS 2025&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-11-15T18:10:32.924Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!1WA5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/presentationpaper-highlights-from&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:178912568,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:0,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I have been so happy to attend IEEE VIS again this year. I have been attending the conference so many times over the years, and every time it feels like a special occasion to meet people I have known for ages from all around the world.</p><div><hr></div><p>November has also been a special month because I completed the second cohort of my online course &#8220;<a href="https://maven.com/filwd/vis-think">Think Effectively with Data Visualization</a>&#8221; (formerly titled Rhetorical Data Visualization). Teaching a new group of learners has been really exciting. Their engagement and acumen made every live meeting interesting and fun, and gave me an opportunity to assess and solidify the material. I plan to write more about the course, but I must say I am very satisfied with the results. Even though all the participants were highly advanced professionals, they found significant value in the course and the framework it presents. This gave me even more confidence in its value and the need to make this material accessible to as many people as possible. One of my goals in Spring will be to find new ways to deliver the main messages in this framework and to complete the series of posts I started here in this same topic.</p><p><strong>If you are interested in taking the course with me, send me a message.</strong> I am considering delivering a new cohort at the end of January or early February, depending on how many people enroll.</p><div class="directMessage button" data-attrs="{&quot;userId&quot;:5453110,&quot;userName&quot;:&quot;Enrico Bertini&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div><div><hr></div><p>In the next few weeks before the Christmas break, I intend to write a few more posts. I definitely want to publish at least one new article for the VisThink series. I am not sure yet what else I want to publish, but I have been inspired by many papers I saw at the VIS conference, so I may end up writing about one or two of them. One idea I am considering is to experiment more with videos, specifically by giving an overview of  individual papers I liked. If you like this idea, please let me know by leaving a comment.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/monthly-update-november-2025/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/monthly-update-november-2025/comments"><span>Leave a comment</span></a></p><div><hr></div><p>That&#8217;s all for now. Thanks for reading!!</p>]]></content:encoded></item><item><title><![CDATA[Things You Can Now Ask an AI When Working With Data]]></title><description><![CDATA[There are things that are now possible that used to be hard or even impossible to do before.]]></description><link>https://filwd.substack.com/p/things-you-can-now-ask-an-ai-when</link><guid isPermaLink="false">https://filwd.substack.com/p/things-you-can-now-ask-an-ai-when</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Tue, 18 Nov 2025 14:31:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Zr9G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Zr9G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Zr9G!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png 424w, /__u/substackcdn.com/image/fetch/$s_!Zr9G!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png 848w, /__u/substackcdn.com/image/fetch/$s_!Zr9G!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Zr9G!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Zr9G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png" width="660" height="459.18956043956047" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1013,&quot;width&quot;:1456,&quot;resizeWidth&quot;:660,&quot;bytes&quot;:336387,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/179042286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Zr9G!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png 424w, /__u/substackcdn.com/image/fetch/$s_!Zr9G!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png 848w, /__u/substackcdn.com/image/fetch/$s_!Zr9G!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Zr9G!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc722de95-5e35-4f0f-b24a-62d1ddaa1e84_1572x1094.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">An example of me interacting with ChatGPT to generate a non-trivial chart while analyzing the Boston Crash data set. ChatGPT has improved enormously in its capacity if you know how to prompt it.</figcaption></figure></div><p>When you work with AI chatbots to carry out data analysis and visualization tasks, the main limitation is often your imagination. The more I experiment with LLMs, the more I discover new ways they can help me work with data in unique and unexpected ways. I thought about sharing some of the things I tried in the hope that this will help you expand the range and learn new ways to use AI tools with data. Here is a preliminary list of things I tried in data-driven projects using LLMs.</p><ol><li><p><strong>Search for the data you need.</strong> Before the advent of LLMs, you had to scour the Internet to find the data you needed. Now, you can ask your AI to look for it, and you&#8217;ll get a lot of useful information and options. I have tried a few times, and I was impressed by the results. You get access to data sources and a thorough description of the information they contain and how to access them.</p></li><li><p><strong>Describe the data.</strong> When you obtain the data from a source, you first need to familiarize yourself with the source, the data structure and meaning, and the limitations. Now you can just ask your AI to do that for you. All LLMs I tried are really good at providing data summaries. They all tend to guess correctly not only the structure but also the meaning of each field, which is quite remarkable.</p></li><li><p><strong>Describe the domain.</strong> You are not always familiar with the problem you are investigating; therefore, learning about the domain becomes crucial.  Without domain knowledge, there is always a big risk of misinterpreting the trends and patterns one uncovers from the data. Now, AI tools can provide you with full context if you want to learn more. This is a remarkable capability. In the past, data and domain understanding tended to be very distinct and separate tasks; now, with AI tools, they are interrelated. But there is more than that: researching a specific domain has become way easier than in the past. Now you can ask specific questions about a specific domain problem, and an LLM will provide answers tailored to your specific needs and in a format more congenial to your learning style.</p></li><li><p><strong>Suggest questions to ask.</strong> This is a completely new capability. If you ask an LLM to suggest questions to pursue, it will suggest ways in which you could slice and dice your data. Maybe you don&#8217;t need it, but every once in a while, it can suggest ideas that you would otherwise have pursued. When I feel like I am running out of creative steam, an AI can suggest new angles to look at a given data set. So after I have created a few charts and answered a few questions, I may ask, &#8220;What else should I ask here? Are there any other questions I should be asking that I have missed so far?&#8221;</p></li><li><p><strong>Answer the questions with tables and charts.</strong> All major AI tools can now produce tables and charts when asked to perform data analysis and visualization. All tools have their own idiosyncrasies, but overall, they can do well if you know how to &#8220;tame&#8221; them. So far, I have had the best experience with ChatGPT: it&#8217;s much faster, more reliable, and better at understanding instructions.</p></li><li><p><strong>Interpret the results (and debug your thinking).</strong> When you generate a chart, you can ask an LLM to describe what it sees and what the relevant trends are. I don&#8217;t think this functionality is completely developed yet, but if you ask, they answer something that makes sense most of the time. It&#8217;s particularly interesting that they can help you spot errors in your reasoning. In a past post, I tried to verify if ChatGPT can spot erroneous interpretations of data, and I was surprised by its evaluation skills. This means AI can also be used to debug your own thinking, which is one of my favorite approaches to AI use overall.</p></li><li><p><strong>Suggest alternative ways to visualize the data.</strong> If prompted correctly, AI tools are capable of suggesting alternative ways to visualize the same data. I have tried a few times and, anecdotally, I was impressed with the results. So, if you are not sure how to visualize something or you feel there might be a better way than the way you suggested to use in your prompt, ask the AI to provide alternative recommendations and you&#8217;ll have a broader set of solutions to explore (I wish that would automatically lead to the production of multiple charts, but this does not happen automatically yet and if you ask the results are not great - current tools are not very good at producing multiple charts at once).</p></li><li><p><strong>Explain how it created the results (transparency). </strong>Transparency is the biggest hurdle with AI tools right now. It&#8217;s easy to go from prompt to charts or from prompt to code to charts. But these solutions are not particularly transparent or interpretable, especially if you are not used to reviewing code yourself. One possible solution is to ask the LLM to explain how it arrived at the solution. This works well for code reviews because it explains, step by step, what the code does. However, it&#8217;s important to be aware of these explanations because the LLM may try to convince you that everything is right when, in fact, some errors exist in the data processing pipeline. Here is where data skills are absolutely necessary. There is no way you can evaluate the steps followed by an LLM unless you have a strong mental model of what operations make sense. It&#8217;s not about being skilled with code. Even when understanding code fully is not required, it is still necessary to understand precisely what a given data operation does and its implications. This is non-negotiable for anyone working with data.</p></li><li><p><strong>Explain how to do something with code (or other tools).</strong> One exciting aspect of how &#8220;supple&#8221; LLMs are with code is that you can &#8220;code&#8221; and understand code even though you are not particularly proficient. The secret for me is to never ask too much and to break problems down into smaller, self-contained ones. If you ask the LLM to perform one step at a time and to describe to you what the code does, you can, most of the time, understand what is going on. This is also true when you know how to code part of the steps but need help with specific subtasks. LLMs are really remarkable with code, and asking them to solve smaller problems you can completely grasp is often the right way to go. Interestingly, this is not restricted to code. If you don&#8217;t know how to do something with, say, Tableau or Excel, you can always ask what the best way is to do it, and most of the time, you receive good guidance. I tried a few times and I have been quite happy with the results.</p></li></ol><p>All these tasks come from my own experience testing LLMs for data analysis and visualization. Mostly out of curiosity to see what they are capable of and how the existing LLMs compare to one another. It goes without saying that in all of these tasks, LLM can get trapped into something and return terrible and even misleading results. Just in case you need to hear that: there is no substitute for critical thinking and evaluation. All the answers to these questions can be wrong. Terribly wrong. But in most cases, they are not and are incredibly helpful instead.</p><p>I am sure that in the future I will discover even more interesting ways to use LLMs for data analysis and visualization. I am also sure that we will soon use more specialized tools alongside general-purpose ones.</p><p>In future posts, I&#8217;d like to show you in more detail how some of these specific tasks can be carried out with LLM. If there is one in particular you are interested in, please let me know, and I will write a post about it. Also, if there are other interesting ways you use LLM for similar purposes, please let me know. I&#8217;d love to hear about your experience! Leave a comment below.</p><p>Finally, I hope to develop a new course in Spring/Summer based on these ideas. If you are interested, please leave a comment below and let me know what you&#8217;d like to learn. I think it would be really exciting to teach these skills to other people.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/things-you-can-now-ask-an-ai-when/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="/__u/filwd.substack.com/p/things-you-can-now-ask-an-ai-when/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Presentation/Paper Highlights from IEEE VIS 2025]]></title><description><![CDATA[Presentations of papers that caught my eye last week in Vienna]]></description><link>https://filwd.substack.com/p/presentationpaper-highlights-from</link><guid isPermaLink="false">https://filwd.substack.com/p/presentationpaper-highlights-from</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Sat, 15 Nov 2025 18:10:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1WA5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1WA5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1WA5!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!1WA5!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!1WA5!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!1WA5!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1WA5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg" width="4032" height="3024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3024,&quot;width&quot;:4032,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2541299,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/178912568?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf775c1-5119-4f7f-96e2-39f517f94912_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1WA5!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!1WA5!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!1WA5!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!1WA5!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F122c9083-a5ee-4586-9193-e9a63d9ff53c_4032x3024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Our student Sydney while presenting her colorful analysis of textile visualizations at IEEE VIS 2025.</figcaption></figure></div><p>Last week I attended the <a href="https://ieeevis.org/year/2025/welcome">IEEE VIS conference</a> in Vienna, the premier conference for data visualization research. It&#8217;s been a whole whirlwind of events, presentations, exhibitions, conversations, etc. The program has grown so large that it is impossible to attend all the sessions and stay up to date on all the contributions. I spent most of my time talking with people, but every once in a while, I dropped into a session that looked interesting. Here are some paper presentations that caught my attention. For each one, I&#8217;ll explain why I think it&#8217;s relevant work and you should take a look. Of course, there is much more than that, and I am sure there are many other hidden gems to discover in the program. If you want to explore the entire collection of papers, I strongly suggest you use <a href="https://johnguerra.co/">John Guerra</a>&#8217;s <a href="https://johnguerra.co/viz/ieeevis2025Papers/">paper explorer</a>. It&#8217;s an interactive visualization that lets you navigate the entire collection by your interests.</p><p>As you go through my list, keep in mind I have only attended the presentation and skimmed the papers in some cases. There may be many more details I am not aware of. Enjoy the curated list and let me know what you think!</p><h2><strong>Papers</strong></h2><p><strong>&#128073; <a href="https://arxiv.org/abs/2508.03876">ReVISit 2: A Full Experiment Life Cycle User Study Framework</a></strong></p><p>Creating useful infrastructures for visualization research is a hard task. Doing it while receiving a best paper award is even harder, because most researchers are skeptical about the research contribution of this type of work. ReVISit is a well-deserved exception to this unwritten rule. The authors have done a great job at developing a tool that is useful and potentially groundbreaking. Doing user studies for visualization research is very hard. reVisit simplifies many aspects by providing a scaffold for experimental design and automating or facilitating the most boring and time-consuming tasks. I was skeptical, but I completely changed my mind. If more people start conducting studies with reVisit, we will soon have a library of comparable experimental designs, which could be really valuable for understanding visualization research and for building on each other&#8217;s work. In our lab, we will soon try it out to see whether it helps or provides too much friction compared to our usual workflow. At this stage, I think it&#8217;s well worth the effort to at least try. If you want to try it yourself, you can find the project here: <a href="https://revisit.dev/">https://revisit.dev/</a>.</p><p><strong>&#128073; <a href="https://arxiv.org/abs/2508.07058">Beyond Problem Solving: Framing and Problem&#8211;Solution Co-Evolution in Data Visualization Design</a></strong></p><p>This is also a best paper award. The authors analyzed the work of 11 professional visualization designers and derived a set of considerations regarding how we conceptualize the data visualization design process. The outcome is an interesting critique of existing models and a more grounded description of how design evolves over time in a project. I will not try to summarize everything here because it&#8217;s quite nuanced, but one strong point is that the project's requirements, as well as the conceptualization of the tasks to be performed with the visualization, evolve over time as the project unfolds. In other words, it&#8217;s only by doing the work that we understand what there is to be done, and we normally can&#8217;t have a full specification before we get started. The implications of this are many, including how to interact with clients and define project scope. I did not read the paper fully yet, but I want to dig deep into it because the dynamics it describes resonate very much with my own experience working on data visualization projects (by the way the same dynamic has always been try for me in developing research projects - I never know where I am going fully but I know that if I move a few steps I&#8217;ll have a clearer picture).</p><p><strong>&#128073; <a href="https://arxiv.org/abs/2507.10024">Qualitative Study for LLM-assisted Design Study Process: Strategies, Challenges, and Roles</a></strong></p><p>This is one of the innumerable papers at the intersection of AI and visualization presented at this year's conference. This one is particularly relevant for me because it covers an aspect of AI that I have been trying to develop in the newsletter: the role AI can play in the data visualization design and development process, and how it allows us to do things that were not possible or too hard before. In this paper, the authors use the well-established &#8220;design study methodology&#8221; developed by Sedlmair et al. about a decade ago and reflect on how AI tools can support the methodology's steps. The study is based on interviews with 30 visualization experts and provides a rich mapping between the development stages and the opportunities enabled by AI tools. They identify four main assistive roles for AI: <em>Connector</em>, <em>Assistant</em>, <em>Simulator</em>, and <em>Programmer</em>, and for each describe in detail how they map to specific stages of the development process. This is definitely a paper I want to read in more detail to compare their characterization to the one I have been developing over the last few months (be on the lookout for a new post on this topic soon!)</p><p><strong>&#128073; <a href="https://arxiv.org/abs/2507.14494">&#8220;It looks sexy but it&#8217;s wrong.&#8221; Tensions in creativity and accuracy using genAI for biomedical visualization</a></strong></p><p>This is very much in the same vein as the previous one. It&#8217;s another interview study to understand attitudes towards the use of GenAI in visualization. In this paper, the focus is on biomedical illustrations, particularly through a more critical lens that contrasts the many promises of AI with its actual implementation. The authors interviewed 30 expert illustrators and gathered information about their attitudes toward the use of GenAI in their work. The study produced a categorization of experts into four-quadrant plots, arranging individuals along two attitude axes: enthusiast vs. skeptical and adopter vs. avoider, which I think could be applied to other domains. The discussion session also includes an interesting set of observations comparing the speculated and the current landscape of GenAI. P.S. Isn&#8217;t the title great?!!</p><p><strong>&#128073; <a href="https://vis.khoury.northeastern.edu/pubs/Purdue2025StitchingMeaningPractices/">Stitching Meaning: Practices of Data Textile Creators</a></strong></p><p>This paper is the brainchild of our student Sydney, who, together with Eduardo, decided to investigate a very interesting phenomenon: many people around the world are creating textiles based on data. The most popular instantiation of this idea is the &#8220;temperature blankets,&#8221; a stitched textile people create that records the temperature at their location. It turns out there is a whole world behind textile visualization with a big community of people loosely connected through social media and private channels. The paper is based on the analysis of 159 artifacts and a survey with 61 creators. The result is a comprehensive taxonomy of visual patterns and practices, along with insights into the motivations and meanings of the people who create these beautiful artifacts. On a side note, Sydney gave a fantastic talk. Full of energy and beautiful pictures displayed on the big screen. She also carried on stage a data jacket and a pillow she had made by hand! I am very proud of her and the joy she brought to the room. You can find more information about her project <a href="https://vis.khoury.northeastern.edu/pubs/Purdue2025StitchingMeaningPractices/">here</a>.</p><p><strong>&#128073; <a href="https://vis.khoury.northeastern.edu/pubs/Xu2025ShiftingExpectationsEncoding/">Shifting Expectations for Encoding Rules Mitigates Misinterpretation of Connected Scatterplots</a></strong></p><p>This paper also comes from our lab, but I was not involved in it. This is the work of our student <a href="https://wendianaxu.github.io/">Wen Xu</a> with my colleague <a href="https://www.lacepadilla.com/">Lace Padilla</a> (my go-to person for anything psychology on vis). The paper introduces the concept of &#8220;expectation&#8221; in visual representations. Expectations are ways in which you expect a chart to behave. For example, in a line chart, you expect time to go from left to right and values to increase upward and decrease downward. Expectations can be learned or innate, and they are everywhere once you start looking. The paper uses connected scatter plots (CSPs) to demonstrate this concept. In these plots, people often carry the idea that up is more in line charts and draw erroneous conclusions because, in a CSP, a line going up does not necessarily mean that a quantity is increasing. To overcome this problem, they test alternative designs that suppress or mitigate the expectation and find that people make fewer judgment mistakes. It&#8217;s a really neat study with a strong effect. I have a recommendation: if you read the paper, do not get too fixated with CSPs, and think about how this concept can be extended to many other graphical representations.</p><p><strong>&#128073; <a href="https://www.arxiv.org/abs/2507.12334">An Analysis of Text Functions in Information Visualization</a></strong></p><p>If the conference had a &#8220;usefulness award,&#8221; this paper would win it this year. This is definitely one of my top favorites. The authors analyzed a large collection of data visualizations, asking, &#8220;What roles does text play in this visualization?&#8221; In doing that, they create an entire taxonomy of text use in data visualization. This type of work stems from a stream of recent papers that recognize that elements beyond the graphical encoding play a major role in visualization. For example, last year, a <a href="https://arxiv.org/abs/2410.05579">similar paper covered annotations</a>. The reason why I am so excited about this paper is that it is very helpful for design and teaching. In designing new charts, it can help authors select their solutions more mindfully. In teaching, it can help me, as an instructor, introduce the concept of text use in a much more nuanced and structured way. Instead of saying, &#8220;text is everywhere and very important,&#8221; I can explain exactly how it is used and what its function is. I am looking forward to using this work in my courses.</p><p><strong>&#128073; <a href="https://arxiv.org/abs/2504.05445">Probing the Visualization Literacy of Vision Language Models: The Good, The Bad, and The Ugly</a></strong></p><p>I was already aware of this paper before attending the conference because it was included in the list of papers we read in my VisGenAI course this semester. The authors embarked on a very difficult project: understanding how visual question-answering AI models interpret data visualizations. To do that, they selected a few open-source models and analyzed their internal attention mechanisms to understand what parts of the image and the question influence the response. The study gives us a glimpse into how these models &#8220;reason&#8221; and what we could do to improve their capabilities. It also offers a reproducible methodology for investigating the internals of these models, which, to the best of my knowledge, had not been done before for specific visualization literacy tasks. Kudos to the authors for making all the <a href="https://osf.io/fp3rg/?view_only=9b11aaec4ddf4656b205ebc53f4ef9db">code available and the whole pipeline reproducible</a>! They also have a nice video in the supplementary material that shows their application in action (you&#8217;ll need to download it to see it well). I strongly suggest you take a look because it&#8217;s really remarkable.</p><p><strong>&#128073; <a href="https://www.visdesignlab.net/publications/2025_vis_data_hunch_interview/">Here&#8217;s what you need to know about my data: Exploring Expert Knowledge&#8217;s Role in Data Analysis</a></strong></p><p>The ex-Utah group has been pursuing this idea for a few years. When we perform data analysis, the way we use visualization and interpret its content is heavily influenced by our background knowledge (other than our abilities). Surprisingly, this aspect is rarely at the center of the data visualization discourse. Our fixation with representation (pie chart or bar chart, anyone?) excludes super-relevant aspects like this one. In the past, this same group introduced the concept of &#8220;data hunches,&#8221; intuitions about specific patterns observed in the data that require domain expertise. In this new work, they expand on that by analyzing how data analysts perform analysis and the role their domain knowledge plays in it. They interviewed 14 domain experts and asked for &#8220;example[s] where the data just did not look right.&#8221; The result is a series of findings on the role of domain knowledge in data analysis. One of the main findings is that analysts are aware of the limitations that exist in data and often supplement these gaps with their domain knowledge. They also found that existing tools do not address the need to share this knowledge alongside data and visual representations. However, the participants also expressed skepticism about a solution that would require integrating yet another tool into their already complicated toolbox. This is a very interesting conundrum that I hope will be solved in future years.</p><p><strong>&#128073; <a href="https://osf.io/preprints/osf/dfr4p_v1">An Autoethnography on Visualization Literacy: A Wicked Measurement Problem</a></strong></p><p>This paper is the result of a large group of people from different institutions who have been working in the visualization literacy space for several years (including my colleague <a href="https://www.khoury.northeastern.edu/people/michelle-borkin/">Michelle Borkin</a> and her PhD student <a href="https://vis.khoury.northeastern.edu/people/Mackenzie-Michael-Creamer/">Mackenzie Creamer</a>). One of the key problems addressed by visualization researchers in this space is the development of tests to measure literacy levels. This can be useful for a number of purposes, including testing the effectiveness of different educational interventions. The problem with this goal is that visualization literacy is a complex concept, and no single test captures all the aspects one may be interested in. The paper presents an &#8220;autoethnography,&#8221; an investigation of common practices carried out by the same researchers who developed the study. The result is a series of useful reflections on the state of visualization literacy tests, what is missing, and what could be done in the future. This is a paper I want to read closely because I have been interested in this topic for a very long time. We published an early literacy test paper many years ago, and I have spoken about it in this newsletter for quite a while. Last year, I also organized a successful reading club on the topic where some of you participated. On a side note, <a href="https://lilyge.com/">Lily Ge</a> gave a really impressive talk. Every few slides, she played a recorded audio snippet of one of the authors/subjects to exemplify a particular point. It was really remarkable and had a fantastic effect. I don&#8217;t know how she found the courage to do that, given how often people have technical difficulties at conferences with setups way less sophisticated. It was really impressive to watch. And fun! On another side note, I really like the &#8220;autoethnography&#8221; methodology. This kind of paper breaks the common skepticism of excessive subjectivity and provides examples of how more subjective methods can be extremely helpful in practice.</p><p>--</p><p>Before concluding, let me suggest you review my friend and colleague, <a href="https://www.linkedin.com/in/paolociuccarelli/">Paolo Ciuccarelli</a>&#8217;s, live posts from the conference. They have a very different take from mine and are very fun and insightful!</p><ul><li><p><a href="https://www.linkedin.com/posts/paolociuccarelli_ieeevis-unconference-viscomm-activity-7390884249257713665-V-Qz?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAk99gBYjYDLoxPqqWycIrC-PTtRfS3Rj4">What a start at IEEE VIS</a></p></li><li><p><a href="https://www.linkedin.com/posts/paolociuccarelli_ieeevis-ieeevis-activity-7391389920285646849-lw5P?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAk99gBYjYDLoxPqqWycIrC-PTtRfS3Rj4">Another day in AI at IEEE VIS for me</a> &#129302;&#10024; (featuring a picture with your tryly!)</p></li><li><p><a href="https://www.linkedin.com/posts/paolociuccarelli_visrocks-ieeevis-activity-7391615635220250624-C1dc?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAk99gBYjYDLoxPqqWycIrC-PTtRfS3Rj4">The Day of Confirmations</a> &#128527;</p></li><li><p><a href="https://www.linkedin.com/posts/paolociuccarelli_iddv-activity-7392110690800586752-RnwU?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAk99gBYjYDLoxPqqWycIrC-PTtRfS3Rj4">Data, Design and Complexity</a></p></li><li><p><a href="https://www.linkedin.com/posts/paolociuccarelli_ieeevis-activity-7392620441854648320-LjcS?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAk99gBYjYDLoxPqqWycIrC-PTtRfS3Rj4">Maybe we shouldn&#8217;t be using visualization at all</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Escaping the Black-Box: Two Strategies for Transparent AI-Driven Data Visualization]]></title><description><![CDATA[A couple of strategies learned while reading Vis+AI papers]]></description><link>https://filwd.substack.com/p/escaping-the-black-box-two-strategies</link><guid isPermaLink="false">https://filwd.substack.com/p/escaping-the-black-box-two-strategies</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Thu, 30 Oct 2025 14:23:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b60f8527-c0f2-4488-a7af-e8a846fd2e1c_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>One of the biggest hurdles for AI-driven data visualization is the lack of transparency in current implementations. All the LLMs I have tested so far convert your prompt directly into a chart (actually generating code that produces the charts). That is, you upload the dataset, ask a question, and the LLM generates a chart (or another form of output) for you.</p><p>The problem with this solution is that it&#8217;s very opaque. As a user, you see only the response and have no way to understand how the LLM generated it unless you look directly at the code. While this may work for simple code and people familiar with coding, it does not offer a scalable solution for more complex output or a wider audience.</p><p>The good news is that researchers have started developing solutions to this specific problem.</p><p>After reading a few papers on this topic, I have identified two main approaches: task decomposition and code abstraction.</p><ol><li><p><strong>Task decomposition.</strong> (&#8220;forced transparency&#8221;) This solution requires the LLM to split the task into a series of observable sub-tasks. More precisely, to go from a prompt to a final visualization, the LLM must pass through several steps, including query interpretation, data processing, and visual mapping.</p></li><li><p><strong>Code abstraction.</strong> (&#8220;induced transparency&#8221;) This solution starts from the generated code and attempts to generate an abstraction to make the steps implemented by the code easier to identify and connect. Typically, this ultimately involves some form of diagram or visual abstraction that enables the user to get a sense of the main data transformation operations the code performs.</p></li></ol><h2><strong>Task Decomposition</strong></h2><p>The paper &#8220;<strong><a href="https://arxiv.org/abs/2311.01920">ChartGPT: Leveraging LLMs to Generate Charts from Abstract Natural Language</a></strong>&#8221; offers a great example of task decomposition. In ChartGPT, the task is split into two high-level tasks: data transformation and visual transformation. Data transformation includes the subtasks: <em>select column</em>, <em>add filter</em>, and <em>add aggregations</em>. Visual transformation includes: <em>select chart type</em>, <em>choose encoding</em>, and <em>add sort</em>. In the figure below, you can see the details with a specific example.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!c0Xe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!c0Xe!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png 424w, /__u/substackcdn.com/image/fetch/$s_!c0Xe!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png 848w, /__u/substackcdn.com/image/fetch/$s_!c0Xe!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png 1272w, /__u/substackcdn.com/image/fetch/$s_!c0Xe!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!c0Xe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png" width="1436" height="450" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:450,&quot;width&quot;:1436,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:169593,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/177565676?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!c0Xe!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png 424w, /__u/substackcdn.com/image/fetch/$s_!c0Xe!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png 848w, /__u/substackcdn.com/image/fetch/$s_!c0Xe!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png 1272w, /__u/substackcdn.com/image/fetch/$s_!c0Xe!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d3828a-bbfb-4eec-b116-620cf93f0e5b_1436x450.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The task decomposition steps proposed in the ChartGPT paper.</figcaption></figure></div><p>The advantage of performing such decomposition becomes evident when you observe the interface they built. The figure below shows the interface.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!eQBq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!eQBq!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png 424w, /__u/substackcdn.com/image/fetch/$s_!eQBq!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png 848w, /__u/substackcdn.com/image/fetch/$s_!eQBq!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eQBq!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!eQBq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png" width="1456" height="841" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:841,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:483108,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/177565676?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!eQBq!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png 424w, /__u/substackcdn.com/image/fetch/$s_!eQBq!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png 848w, /__u/substackcdn.com/image/fetch/$s_!eQBq!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eQBq!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a4518c-3e90-49ba-a8d8-ffc61e9c8c2e_1748x1010.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">ChartGPT&#8217;s interface.</figcaption></figure></div><p>If you look carefully in the bottom-right corner, you can identify a panel where the model&#8217;s decision points are specified. You see the sequence of steps? Select columns, add filter, etc. This is the main advantage of this approach. The interface clearly and transparently depicts the steps, the values, and the rules used at each step.</p><p>This is quite neat if you think about it, because you can still interact using natural language with the model, but you can immediately observe how the model interpreted your request and what actions it took to produce a response.</p><h2><strong>Code Abstraction</strong></h2><p>An alternative path is to take the code the LLM generated a process it to create an abstraction of the operations and a depiction of the workflow. A solution of this kind is presented in &#8220;<strong><a href="https://arxiv.org/abs/2408.01703">WaitGPT: Monitoring and Steering Conversational LLM Agent in Data Analysis with On-the-Fly Code Visualization</a></strong>.&#8221;</p><p>WaitGPT parses the code according to a number of predefined rules to reconstruct the data pipeline steps generated by the LLM through code. The generated abstraction is then mapped to a diagrammatic representation that aims to guide the user in interpreting the processing steps.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!0IVu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!0IVu!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png 424w, /__u/substackcdn.com/image/fetch/$s_!0IVu!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png 848w, /__u/substackcdn.com/image/fetch/$s_!0IVu!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0IVu!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!0IVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png" width="1504" height="1136" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1136,&quot;width&quot;:1504,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:638341,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/177565676?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a03e93b-6da8-4094-9ae7-aa7ac674a254_1504x1136.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!0IVu!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png 424w, /__u/substackcdn.com/image/fetch/$s_!0IVu!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png 848w, /__u/substackcdn.com/image/fetch/$s_!0IVu!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0IVu!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe977a350-2c50-47ff-bfb2-79e6d0744809_1504x1136.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Diagrammatic code abstraction proposed in the WaitGPT paper.</figcaption></figure></div><p>As you can see, the tool generates an interactive diagram based on the code you see on the left. You can imagine something like that being integrated into existing AI tools as a widget or into other interactive tools like the notebook environment proposed in WaitGPT (see the left side of the image above).</p><h2><strong>Advantages and Disadvantages</strong></h2><p>Which of these solutions works best? I don&#8217;t think we can give a definite answer, but we can try to reason about the advantages and disadvantages of these two approaches.</p><p>The task decomposition approach is very neat and produces highly interpretable results. However, this approach is also way less flexible. What if the specific set of steps that constitute the data processing pipeline can&#8217;t express the specific transformations needed to answer my question? Task decomposition also forces systems to choose from a specific set of possible solutions, effectively negating more creative or unconventional solutions that the LLM may be able to generate.</p><p>Code abstraction does not have these limitations, but it does have others. First, for every new language, we need a new code parser that can convert code into diagrams. Second, diagrams can become so complex that they defeat the purpose. The flip side of more flexibility is more complexity. If the LLM is free to build solutions of unbounded complexity, then visual representations will also result in high complexity.</p><p>It&#8217;s difficult at this stage to decide which works best in any situation, and maybe future solutions will feature hybrid approaches that combine the two strategies. Task decomposition could be designed to allow greater flexibility, and code abstraction could be constrained more tightly.</p><p>I am curious to see how research in this space will evolve over the next few years or months (or should I say days?!). Even more relevant is to see whether these solutions will be included in any widely adopted tool. All major LLMs can already ingest data and produce charts, but none, as far as I know, address the transparency problem these methods aim to solve. Tools like ChatGPT, Claude, and Gemini could easily integrate these solutions into their current toolbox, and specialized data analytics tools could do the same.</p><h2><strong>Other Solutions?</strong></h2><p>One final question is whether these two approaches are the only ones available to increase transparency in data processing pipelines. What else could we possibly do?</p><p>One option is to have LLMs explain the pipeline to you. This is already possible with existing tools. You can ask your LLM to explain what the code does to you, and, of course, you can also instruct it to give you the explanation in your preferred format. In a way, this could work similarly to the &#8220;chain-of-thought&#8221; style we see in the &#8220;thinking&#8221; mode most LLMs today use. The LLM can lay out a visible pattern so that you can better understand what it has done.</p><p>Is that enough? I don&#8217;t know. I suspect that a more specialized solution would ultimately be more effective. But one could merge the self-explanatory capabilities of LLM with more structured approaches. That is, I could ask an LLM to process the code and generate an abstraction of the code that I could then visualize or communicate effectively.</p><p>What else?</p><p>Maybe transparency isn't that big a deal, and future improvements to these AI tools will render translation unnecessary. LLM could, for example, detect the need for disambiguation when a prompt is unclear and, at the same time, provide multiple correct solutions for the user to inspect and choose from.</p><p>What else?</p><p>I don&#8217;t know! If you have any ideas, please leave a comment below. I&#8217;d be curious to hear what other solutions could be ideated.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/escaping-the-black-box-two-strategies/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/escaping-the-black-box-two-strategies/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Data is Malleable. You Give It the Right Shape!]]></title><description><![CDATA[On the effect of data transformation on what your visuals communicate]]></description><link>https://filwd.substack.com/p/data-is-malleable-you-give-it-the</link><guid isPermaLink="false">https://filwd.substack.com/p/data-is-malleable-you-give-it-the</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Tue, 28 Oct 2025 22:50:48 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f717491d-52be-4b1e-847e-1b6d039cffbc_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This is post #3 of my VisThink series on &#8220;Thinking Effectively with Data Visualization.&#8221; All the posts in the series are collected here: &#128073; <a href="/__u/filwd.substack.com/s/visthink">VisThink Series</a>.</em></p><p><em>The series mirrors the main elements that I teach in my online live course, &#8220;<a href="https://maven.com/filwd/vis-think">Thinking Effectively with Data Visualization</a>.&#8221; The course helps you <strong>gain confidence in your data thinking and avoid costly mistakes. </strong>You can watch the first lecture for free by following this link: &#128073; <a href="https://maven.com/filwd/vis-think">Introduction to VisThink</a>. If you are interested in the course, see the details on the <a href="https://maven.com/filwd/vis-think">course webpage</a>.</em></p><div><hr></div><p>In the <a href="/__u/filwd.substack.com/p/good-charts-wrong-data-a-data-sanity">previous post of the series</a>, I argued that visualization designers and analysts need to be very careful in understanding and evaluating the data they use, because the way the data has been generated and its true meaning have a huge impact on what is possible to infer and whether what is communicated with a chart is trustworthy.</p><p>Once this is cleared, we still have an important step to address before deciding which chart is more appropriate for our goal. We have to <strong>transform</strong> the data to give it the &#8220;shape&#8221; necessary to communicate the information we want.</p><p>If you think about it, it&#8217;s almost never the case that we receive or generate a data set and can directly visualize it without at least some minimal data processing. At the very least, we need to decide which available variables to use to create the chart we want.</p><p>My goal here is to help you develop an appreciation for how <strong>malleable</strong> data his and how the choices you make when transforming the data impact what is eventually communicated. I like to say that <strong>&#8220;data visualization&#8221; is a bit of a misnomer</strong> because most of the crucial choices we face as visualization designers involve deciding what &#8220;data shape&#8221; to use to communicate the information we want to share, rather than the visual forms needed to communicate it.</p><h2><strong>Data transformations</strong></h2><p>Creating a catalog of all possible transformations is almost impossible and potentially very tedious. Here, we will cover the most common operations one encounters when generating new visualizations.</p><ul><li><p><strong>Variable selection.</strong> Data sets almost always include multiple variables, but each chart typically depicts only between two and three. Selecting which variable to use is not always straightforward, and alternative selections may be valid for the same question or communicative intent. For example, if I want to visualize how dangerous it is to drive in different areas of New York City, should I use the number of collisions, injuries, deaths, or something else?</p></li><li><p><strong>Aggregation.</strong> While not always necessary, in many cases, we need to aggregate data to depict the trends we are interested in. If I want to visualize how different areas of New York compare in terms of collisions, I need to aggregate the data by area (e.g., zip code) and count collisions. Here again, not all aggregations are equal, and different aggregations are possible for the same intent. For example, do I depict the data at the level of boroughs, zip codes, individual intersections, or something else?</p></li><li><p><strong>Statistics and calculations.</strong> Whenever we aggregate data, we need to specify an aggregate statistic to use. Do we use average, mean, percentage, or something else? It depends. Different choices in this space significantly impact what we can see and infer from the data.</p></li><li><p><strong>Filtering and ranges.</strong> Finally, it is not uncommon to need to focus on a specific subset of items or a specific value range in a visualization. However, the decision of what to include and what to exclude significantly impacts the meaning and context of the data. For example, if I decide to visually only see some types of collisions, I will not see how the selected types compare to the ones I decided to remove.</p></li></ul><p>Side note: Before moving forward, I strongly suggest that you review <a href="/__u/filwd.substack.com/s/data-transformation-for-vis">my previous series on the role of data transformation in visualization</a>. It&#8217;s very thorough and includes numerous examples of how specific transformations affect a visualization's appearance and what it communicates.</p><p>These are the most significant and common transformations we need to apply when creating new data visualizations.</p><h2><strong>How does transformation impact interpretation?</strong></h2><p>Transformation has a huge impact on interpretation for two main reasons. First, because the choices we make have an impact on what &#8220;constructs&#8221; we use to depict a given phenomenon. Remember, data is not reality; it&#8217;s a coarse depiction of reality. An expansion of our senses. Whenever we use a set of values to represent real-world objects, we have to keep in mind that a gap may exist between what we think these values represent and the reality they represent. This is what we called &#8220;data-reality gaps&#8221; in the previous post of the series.</p><p>Second, data transformation affects how data is visually represented. More specifically, different choices can result in (1) the need to use a different type of representation and (2) the visibility of different patterns in the data.</p><p>One of my favorite examples is this pair of maps. If we decide to aggregate the data at the individual zip-code level, we can create a map like the one on the left. If we want to get rid of artificial boundaries and create a density distribution from individual points, we can produce a map like the one on the right. Both stem from the same data set, but different transformations (zip code aggregation vs. density estimation) yield different representations and, more interestingly, different discernible patterns.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!AoVc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!AoVc!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png 424w, /__u/substackcdn.com/image/fetch/$s_!AoVc!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png 848w, /__u/substackcdn.com/image/fetch/$s_!AoVc!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png 1272w, /__u/substackcdn.com/image/fetch/$s_!AoVc!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!AoVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png" width="1456" height="766" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:766,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:762047,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/177407863?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!AoVc!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png 424w, /__u/substackcdn.com/image/fetch/$s_!AoVc!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png 848w, /__u/substackcdn.com/image/fetch/$s_!AoVc!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png 1272w, /__u/substackcdn.com/image/fetch/$s_!AoVc!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613a4c6a-0a5e-4571-bc07-c8d52b644ce8_1490x784.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Going back to the set of transformations we covered in the previous section, let&#8217;s now summarize how they affect interpretation.</p><p>For <strong>variable selection,</strong> the impact is quite obvious. If you change the variables you depict, you focus on different aspects of the data. As mentioned above, sometimes different sets of variables are compatible with the same question, but they are not necessarily equivalent.</p><p>For <strong>aggregation,</strong> the main impact is the level of detail used to depict information. Let&#8217;s take a look at a few examples to understand what this means, starting with geographical data. If I have a set of events or objects with a spatial location, I can map these objects individually (highest granularity), aggregate them at a fine set of regions, or at progressively coarser regions. The same is true for temporal data: I can aggregate it at the day, month, or year level.</p><p>The impact of choosing any particular granularity level can&#8217;t be underestimated. Some patterns are only visible when a specific level is chosen. In particular, the choice of depicting individual items versus aggregations has, in some cases, a very large effect. </p><p>The other big choice is which&nbsp;<strong>statistics or calculations</strong>&nbsp;to use when aggregating data or calculating a&nbsp;derived value. All calculated numbers are, by definition, an abstraction, and each abstraction carries particular benefits and dangers. Averages, for example, reduce the noise of individual values and help make a general trend more visible. On the other hand, by hiding individual details, they also carry the risk of excessive simplification.</p><p>Finally, <strong>filtering and range</strong> determine what is and is not shown in a given visualization. The effect of this choice is crucial because visualization is fundamentally about comparison, and comparison occurs among the objects displayed, not among those not displayed. When we choose to filter out, we also choose to present data in a particular context. This is related to the WYSIATI (What You See Is All There Is) effect, described by Kahneman in his classic &#8220;<strong><a href="https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow">Thinking Fast and Slow</a></strong>.&#8221; We tend to make judgments based on what we see, not on what is not presented.</p><h2><strong>Data transformation and &#8220;visual reasoning fallacies&#8221;</strong></h2><p>The ultimate reason data transformation is so important is that it shapes how we reason about data in a visualization. For each of the data transformations I have outlined above, there is one or more associated visual reasoning fallacies one can fall into, if not careful.</p><p>I will not cover the fallacies here. This post is already quite long. But, I plan to cover them in future posts of this series. These are the fallacies I plan to cover:</p><ul><li><p>Base rate bias</p></li><li><p>Regression to the mean</p></li><li><p>Hidden variability</p></li><li><p>Sensitivity to outliers</p></li><li><p>Faulty percentages</p></li><li><p>Misleading ranks</p></li><li><p>Cherry picking</p></li><li><p>Ecological fallacy</p></li><li><p>Simpson&#8217;s paradox</p></li></ul><p>It&#8217;s important to note that many of these are often described as traditional statistical fallacies, which they are. However, my focus will be on how these fallacies manifest in data visualizations so that when you develop or read a chart, you&#8217;ll be able to quickly identify and diagnose the problem.</p><div><hr></div><p><em>That&#8217;s all for now. Let me know if this post is useful to you! Please leave your comments below and share them with others who may be interested in these ideas! Thanks!</em> &#128591;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/data-is-malleable-you-give-it-the/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/data-is-malleable-you-give-it-the/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Monthly Update, October 2025]]></title><description><![CDATA[Sep-Oct posts, courses and webinars, research updates, etc.]]></description><link>https://filwd.substack.com/p/monthly-update-october-2025</link><guid isPermaLink="false">https://filwd.substack.com/p/monthly-update-october-2025</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Wed, 15 Oct 2025 14:05:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9gwq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi all, fall is here! Foliage, cozy feelings, and everything else (no pumpkins yet - we need to fix that soon!). This is the time of year when my windows look like paintings, and I start taking pictures of them. They all look the same, but I keep doing it every year. I just can&#8217;t resist their beauty!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!9gwq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!9gwq!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!9gwq!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!9gwq!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!9gwq!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!9gwq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg" width="222" height="296" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:768,&quot;resizeWidth&quot;:222,&quot;bytes&quot;:257238,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/175912511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!9gwq!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!9gwq!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!9gwq!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!9gwq!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f0a04f-9f37-432f-845c-4fd6f106e045_768x1024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Posts</h2><p>In September and October, I posted a few new articles. There are two on AI and two on thinking with data visualization, which also happen to be the two main topics I am focusing on right now.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3238f45b-69a2-4eaf-8013-100034d2f031&quot;,&quot;caption&quot;:&quot;Hi folks! I hope you are enjoying the last bits of summer. Here I am busy preparing for the two courses I&#8217;ll teach this semester at Northeastern University. One of these courses is new and completely devoted to the intersection of Data Visualization and Generative AI. The first half of the course is devoted to reading research papers on this topic. Here&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;A Reading List on GenAI for Data Visualization&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-04T04:07:16.352Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/955ca878-b931-405e-9695-c85f8ebb6a08_722x722.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/a-reading-list-on-genai-for-data&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:172269249,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:25,&quot;comment_count&quot;:8,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>This first post made quite a splash (lists of things tend to be quite attractive, not sure why). In the post, I described the collection of papers I gathered for my new university course on Data Visualization &amp; Generative AI. Since I published that post, I've started the course and have a lot more to report about the papers and the course itself. I plan to share more about these in upcoming posts.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b3f9df43-b352-4a33-8357-43646df29f10&quot;,&quot;caption&quot;:&quot;Over the last few days, I have been &#8220;playing&#8221; with ChatGPT to keep developing a feel for what it can and cannot do with data. You may recall that I have conducted some initial experiments in the past, as well.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Five Strategies for Analyzing Data with ChatGPT&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-23T02:19:32.010Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dbue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842de0c4-728a-4ac5-a8ed-ef04984a4ba0_764x698.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/five-strategies-for-analyzing-data&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:173923744,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>In this second post, I wanted to start providing some guidance. I am spending more time experimenting with AI tools for data visualization, and the post reports on five strategies I found useful. This is an area where there is so much more to do! I want to continue experimenting with AI tools so that I can report back on what I learn. Eventually, I&#8217;d like to create a new course around it.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4fd1ff67-523c-4cec-ac2d-3cb4e7bab99c&quot;,&quot;caption&quot;:&quot;Hey y&#8217;all, I am starting a new series of posts this week. I don&#8217;t know how long it will be yet, but I have a good sense of what I want to include. The series mirrors most of the main elements that I teach in my new course, &#8220;Thinking Effectively with Data Visualization&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;VisThink: How to Think Effectively with Data Visualization&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-30T12:48:08.454Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39b63f72-b36f-4b8d-a859-66330352294e_1066x844.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/visthink-how-to-think-effectively&quot;,&quot;section_name&quot;:&quot;VisThink&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:174921216,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:2,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>This fall, I decided to start a new series based on the online course I teach called &#8220;<a href="https://maven.com/filwd/vis-think">Thinking Effectively with Data Visualization</a>.&#8221; The series is a way for me to translate into words many of the concepts that I teach. Eventually, I hope this will lead me to write a whole book about these topics!</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8da2065a-39c4-4ba8-bdef-e7b193102e64&quot;,&quot;caption&quot;:&quot;This is post #2 of my VisThink series on &#8220;Thinking Effectively with Data Visualization.&#8221; All the posts in the series are collected here: &#128073; VisThink Series.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Good Charts, Wrong Data: A Data Sanity Check Framework for Data Visualizers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-08T15:15:20.828Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!xYky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b603061-cfa8-498d-beaa-48f64508dc85_1096x830.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/good-charts-wrong-data-a-data-sanity&quot;,&quot;section_name&quot;:&quot;VisThink&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:175621424,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:9,&quot;comment_count&quot;:0,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>In this post, I cover the problem of inadequate and misinterpreted data and how it affects everything else. I also describe the framework I developed to think systematically about limitations in the data.</p><h2>Online Courses and Webinars</h2><ul><li><p><strong>Online course (new cohort!):</strong> A new cohort of my course &#8220;<a href="https://maven.com/filwd/vis-think">Thinking Effectively with Data Visualization</a>&#8221; starts on October 27, 2025. If you want to know more, visit the <a href="https://maven.com/filwd/vis-think">course home page</a>.</p></li><li><p><strong>Scholarships (80% discount):</strong> If you are a current student in an academic institution, I offer 80% discount scholarships. Just send me an email, and I will send you a code to enroll.</p></li><li><p><strong>Free webinars:</strong> I recently gave two webinars. You can watch the recordings here:</p><ul><li><p><a href="https://maven.com/p/55ea1c/how-not-to-lie-with-charts?utm_medium=ll_share_link&amp;utm_source=instructor">How NOT to Lie with Charts</a></p></li><li><p><a href="https://maven.com/p/6d4d2c/don-t-take-numbers-at-face-value-bad-data-ruins-good-charts?utm_medium=ll_share_link&amp;utm_source=instructor">Don&#8217;t Take Numbers at Face Value</a></p></li></ul></li></ul><h2>Help Me Develop New Courses!</h2><p>I am currently considering developing a new course for Spring. I want the course to be shorter than my current one and address a significant need people have. I am obviously considering doing something on AI for visualization, but I am also open to other ideas. Can you please send me your ideas here or in private? You can just add a comment below, if you wish.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/monthly-update-october-2025/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/monthly-update-october-2025/comments"><span>Leave a comment</span></a></p><h2>Research Corner</h2><p>We have a new paper out! The title is &#8220;<a href="https://arxiv.org/abs/2509.09510">Cognitive Affordances in Visualization: Related Constructs, Design Factors, and Framework</a>.&#8221; This paper is the brainchild of our student <a href="https://www.racquelfygenson.com/">Racquel</a>, who together with me and <a href="https://www.lacepadilla.com/">Lace</a>, developed a whole the idea. I plan to write about it more extensively soon. The paper explores the theoretical underpinnings of &#8220;affordance&#8221; and its application to data visualization. Half of it discusses how affordance relates to other constructs used in visualization, while the second half focuses on a theoretical model for using affordance in visualization. Take a look and let me know what you think! There are a few more things I am currently working on. One focuses on exploring ethics in data visualization, and the other on understanding how charts communicate causality. I will keep you posted as these endeavors develop further.</p><h2>Vis + GenAI Course</h2><p>My university course is almost halfway through. We are at the 8th week. The course is a new experiment for me. The students read a selection of papers in the first half of the course, and then develop an application in the second half. We are almost at the end of the paper-reading phase, and I feel like both my students and I have learned a lot. The papers we read are based on the list I shared above. I am looking forward to reporting more about the format I have used for the paper reading phase (based on assigning specific roles to students), and what we have learned from these papers. There is so much going on in this space, and we will see so much more coming up in the next few months. I will be at the <a href="https://ieeevis.org/">IEEE VIS conference</a> in November, and I am sure there will be a ton of new research in this space.</p><p>&#8212;</p><p>That&#8217;s all for now. Thanks for reading! &#128591;<br>Enrico.</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Good Charts, Wrong Data: A Data Sanity Check Framework for Data Visualizers]]></title><description><![CDATA[A framework and guidelines to identify data-reality gaps]]></description><link>https://filwd.substack.com/p/good-charts-wrong-data-a-data-sanity</link><guid isPermaLink="false">https://filwd.substack.com/p/good-charts-wrong-data-a-data-sanity</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Wed, 08 Oct 2025 15:15:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xYky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b603061-cfa8-498d-beaa-48f64508dc85_1096x830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This is post #2 of my VisThink series on &#8220;Thinking Effectively with Data Visualization.&#8221; All the posts in the series are collected here: &#128073; <a href="/__u/filwd.substack.com/s/visthink">VisThink Series</a>.</em></p><p><em>The series mirrors the main elements that I teach in my online live course, &#8220;<a href="https://maven.com/filwd/vis-think">Thinking Effectively with Data Visualization</a>.&#8221; The course helps you <strong>gain confidence in your data thinking and avoid costly mistakes. </strong>You can watch the first lecture for free by following this link: &#128073; <a href="https://maven.com/filwd/vis-think">Introduction to VisThink</a>. If you are interested in the course, see the details on the <a href="https://maven.com/filwd/vis-think">course webpage</a>.</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!I99H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!I99H!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png 424w, /__u/substackcdn.com/image/fetch/$s_!I99H!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png 848w, /__u/substackcdn.com/image/fetch/$s_!I99H!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png 1272w, /__u/substackcdn.com/image/fetch/$s_!I99H!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!I99H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png" width="590" height="232.19093406593407" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:573,&quot;width&quot;:1456,&quot;resizeWidth&quot;:590,&quot;bytes&quot;:132389,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/175621424?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!I99H!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png 424w, /__u/substackcdn.com/image/fetch/$s_!I99H!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png 848w, /__u/substackcdn.com/image/fetch/$s_!I99H!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png 1272w, /__u/substackcdn.com/image/fetch/$s_!I99H!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f67f4a-521d-42c6-9cbc-3ceee4b52e02_1530x602.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Many problems in visualization stem from a mismatch between what we think the data represents and what it actually represents.</figcaption></figure></div><p>One fundamental notion that is often overlooked in data visualization practice is that no amount of design or data processing skills can overcome problems inherent in the data due to the way it was generated and collected. This is a very apt case for the classic statement, &#8220;garbage in, garbage out.&#8221; I am sure that while you read this, you may find my point obvious and ask, &#8220;Enrico, of course I know that bad data leads to bad charts!&#8221; Yeah &#8230; maybe. But how do you know when you have bad data? How do you judge if a number, for example, represents the thing you think it represents? Do you have a systematic procedure, or do you go by intuition?</p><p>In this post, I will share a framework I have developed to think systematically about evaluating your data, so that you can be more mindful of the impact it can have on the validity of your visualizations.</p><h2><strong>Validity?</strong></h2><p>Before we move forward, let&#8217;s clarify what we mean by validity. If you think about it, a visualization is not inherently valid or invalid until some information is extracted from it. In other words, the thing that is valid or invalid is the information extracted from the visual representation and the data it represents. With visualization, we often have two main situations. When we are <em>producers</em>, we interpret the content and generate our own understanding of the facts depicted by the representation. When we are <em>consumers</em>, we are presented with interpretations of facts that someone else has generated for us (e.g., news media, scientific reports, presentations). In both cases, the output of interacting with visualizations is a series of facts about the world that we, or somebody else, extracted from the data. The relevant issue here is whether these facts constitute a valid inference from the data and the representation or not. Let me provide you with an example to make this concept more concrete before I proceed with more details. The map below shows the total number of vehicle collisions in New York City by zip code. (This is an example I have used before in my newsletter - please bear with me.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!55-a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!55-a!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png 424w, /__u/substackcdn.com/image/fetch/$s_!55-a!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png 848w, /__u/substackcdn.com/image/fetch/$s_!55-a!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png 1272w, /__u/substackcdn.com/image/fetch/$s_!55-a!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!55-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png" width="612" height="421.59065934065933" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1003,&quot;width&quot;:1456,&quot;resizeWidth&quot;:612,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!55-a!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png 424w, /__u/substackcdn.com/image/fetch/$s_!55-a!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png 848w, /__u/substackcdn.com/image/fetch/$s_!55-a!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png 1272w, /__u/substackcdn.com/image/fetch/$s_!55-a!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba0711f7-34d7-4918-a317-0ce14dbdfdde_1780x1226.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Number of collisions counted in NYC zip code areas.</figcaption></figure></div><p>This representation, without a specific interpretation (or extracted message, if you will) is not inherently valid or invalid. <strong>It becomes valid or invalid only when paired up with a specific interpretation</strong>. Contrast these two possible titles for the same map. </p><ul><li><p>Title 1: &#8220;Collision Hot Spots: Busy Areas Experience Many Collisions&#8221; </p></li><li><p>Title 2: &#8220;Collision Hot Spots: Dangerous Areas to Drive in NYC&#8221;</p></li></ul><p>While Title 1 is a legitimate interpretation of the map Title 2 is not. Areas with more collisions (the darker spots) are not necessarily areas where driving is more dangerous, but just areas with more cars. Therefore, the first title is ok, the second is not.</p><h2><strong>Data Validity</strong></h2><p>When we derive claims from data visualizations, their validity depends on many aspects. First, the reality that the data represents, namely, the real-world phenomena. Second, the extent to which the data and calculations represent the concepts one uses in their argument. Third, the correctness of the claims with respect to what the visualization shows, that is, whether the visualization actually depicts what is claimed. The first element depends on your knowledge of the domain problem. The second depends on your knowledge of the data and its meaning (and limitations). The third depends on your ability to read data visualizations skillfully and correctly (e.g., your &#8220;<a href="/__u/filwd.substack.com/p/making-sense-of-visualization-literacy">data visualization literacy</a>.&#8221;) Of these three elements, here we focus on your ability to understand the data and identify its limitations.</p><p>How do you assess the validity of your data? More precisely, how do you assess the ability of your data to support the claims you derive from it?</p><p>To guide you through this task, I have developed a framework that organizes the problems in stages, allowing you to think about data validity more systematically.</p><h2><strong>Data-Reality Gaps</strong></h2><p>The framework is depicted in the diagram below, which shows an idealized version of how data is generated. The first element on the left is the &#8220;population.&#8221; This term is commonly used in statistics to define the idealized set of possible elements that one could pick from to obtain a complete set of measurements. For example, the whole population of a country would be the population, literally, for a data set collecting survey data about a given topic. However, the term population does not need to refer to people only; it can refer to any type of entity. For example, if we want to measure the temperature around the globe, all possible locations would be represented in the population of that dataset.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_SfC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_SfC!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png 424w, /__u/substackcdn.com/image/fetch/$s_!_SfC!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png 848w, /__u/substackcdn.com/image/fetch/$s_!_SfC!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_SfC!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_SfC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png" width="1456" height="425" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:425,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122315,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/175621424?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_SfC!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png 424w, /__u/substackcdn.com/image/fetch/$s_!_SfC!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png 848w, /__u/substackcdn.com/image/fetch/$s_!_SfC!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_SfC!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25fd89-e408-4cc9-aaa9-effa2ae3763c_2534x740.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A data sanity check framework to guide you in the analysis and understanding of your data <strong>before</strong> you visualize it.</figcaption></figure></div><p>Every data set draws items from the population through some selection mechanism, which may be more or less explicit. The way this selection is made has a huge impact on what inferences we can draw from the data. Aside from the obvious fact that measuring anything from a subset introduces some uncertainty regarding the accuracy of a given value,&nbsp;<strong>the procedures used to derive a dataset can also&nbsp;introduce significant distortions and gaps between what we think the data represents and what it actually represents</strong>. In other words, if we are not aware of the difference between what we aim to study and what the data contains, we can easily be led astray. If a mismatch exists between the idealized population and the data, we have what I call a &#8220;<strong>Representation Gap</strong>,&#8221; which is the situation where the data does not accurately represent what we assume it does.</p><p>Conceptually, however, this is not the only problem that can exist in a data set. A second logical step after selecting the elements drawn from our hypothetical population is to measure values from the selected items. However, measurement procedures can be faulty in numerous ways, resulting in a second gap: the &#8220;<strong>Accuracy Gap</strong>,&#8221; which occurs when the values do not accurately represent the measured reality. A good example is a sensor that is malfunctioning or influenced by environmental factors we are unaware of. Another example is the mismatch between what people respond to when they are administered a survey and what they actually believe.</p><p>Finally, data is rarely distributed in the format in which it was collected. Most often, data is pre-processed and transformed to produce the final dataset we use for our analysis. This final step, however, creates another level of indirection that often leads to misinterpretation. I call this third gap the &#8220;<strong>Interpretation Gap</strong>,&#8221; because its main manifestation is a misinterpretation of the real meaning of the values (often individual metrics) the data contains. The best example of this problem is what I like to call &#8220;black-box numbers,&#8221; individual numbers obtained through complex calculations and that are (often too casually) used as a faithful representation of the phenomenon they purport to depict. For example, what we commonly call &#8220;inflation&#8221; is based on the Consumer Price Index, which aggregates the prices of thousands of goods and services into a single number, based on the spending pattern of an &#8220;average consumer.&#8221; If prices increase rapidly only for a specific set of goods, such as housing and food, the entire CPI may not accurately represent the burden that specific segments of the population experience.</p><p>One additional element to consider, in addition to the three gaps, is the &#8220;<strong>Consistency Gap</strong>.&#8221; This gap stems from the fact that often data is collected over time and across multiple sources. When relevant differences in the way data is collected or processed exist between different sources or time spans, major misinterpretations can occur. A good example, borrowed from <a href="https://www.linkedin.com/in/benrjones">Ben Jones</a>&#8217; book &#8220;<a href="https://www.amazon.com/Avoiding-Data-Pitfalls-presenting-visualizations/dp/1119278163">Avoiding Data Pitfalls</a>,&#8221; from which I have also borrowed the term &#8220;data-reality gaps,&#8221; is this one about earthquakes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!jffd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!jffd!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png 424w, /__u/substackcdn.com/image/fetch/$s_!jffd!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png 848w, /__u/substackcdn.com/image/fetch/$s_!jffd!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png 1272w, /__u/substackcdn.com/image/fetch/$s_!jffd!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!jffd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png" width="1456" height="479" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:479,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:254642,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/175621424?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!jffd!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png 424w, /__u/substackcdn.com/image/fetch/$s_!jffd!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png 848w, /__u/substackcdn.com/image/fetch/$s_!jffd!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png 1272w, /__u/substackcdn.com/image/fetch/$s_!jffd!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ab91f6-b704-4f78-995e-0a63e985e935_1792x590.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Earthquakes seem to rise in this charts but the only thing that changed, really, is out ability to detect them through improved instruments.</figcaption></figure></div><p>Earthquakes are not really on the rise. What changed is the precision of the instruments used to detect the earthquakes, causing this apparent upward trend. If one is not careful about consistency, apparent trends can easily lead to faulty interpretations.</p><h2><strong>Performing Data Sanity Checks</strong></h2><p>The little framework I presented above can be used in practice to perform a sanity check before you start manipulating and visualizing your data. I suggest you ask yourself four main questions:</p><ul><li><p><strong>Selection:</strong> What is included/excluded? Do the included elements match my mental model of the the reality I intend to depict?</p></li><li><p><strong>Recording:</strong> Are the values recorded in the data realiable and accurate. Are there ways in which the recording process may have introduced distortions and inaccuracies?</p></li><li><p><strong>Derivation:</strong> Are the derived values valid? Do they capture what they claim to capture? And to they represent the concepts I intend to depict?</p></li><li><p><strong>Consistency:</strong> Does any of the above change over time or space (or source)? Is it possible that different sources or time periods used different data collection standards?</p></li></ul><p>While this does not ensure you catch every possible limitation in your data, it goes a long way in helping you avoid major flaws and interpretation errors.</p><p>One big topic I did not cover here, which should also be taken into consideration, is the effect of missing data. Missing values can also wreak havoc in your data analysis and visualization if you are not very careful in detecting and handling them. I will cover this problem in one of the future posts of the series.</p><div><hr></div><p><em>That&#8217;s all for now. Let me know if this framework is useful to you! Plese leave your comments below and share it with others who may be interested in these ideas! Thanks!</em> &#128591;</p>]]></content:encoded></item><item><title><![CDATA[VisThink: How to Think Effectively with Data Visualization]]></title><description><![CDATA[Introduction to a new series on how to think with data and data visualization]]></description><link>https://filwd.substack.com/p/visthink-how-to-think-effectively</link><guid isPermaLink="false">https://filwd.substack.com/p/visthink-how-to-think-effectively</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Tue, 30 Sep 2025 12:48:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/39b63f72-b36f-4b8d-a859-66330352294e_1066x844.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey y&#8217;all, I am starting a new series of posts this week. I don&#8217;t know how long it will be yet, but I have a good sense of what I want to include. The series mirrors most of the main elements that I teach in my new course, &#8220;<a href="https://maven.com/filwd/vis-think">Thinking Effectively with Data Visualization</a>,&#8221; and it&#8217;s meant to share some of its elements in writing.</p><p>I have multiple goals with this series. First, I want to provide you with a clearer understanding of what I cover in my course. Second, by writing and sharing my ideas with you, I hope to refine and further develop them. Third, I am considering writing a book based on these ideas, so writing is what I need to do anyway. I hope you&#8217;ll like the ideas in this series. Please share your ideas and comments with me. I&#8217;d love to know what you think!</p><div><hr></div><h2><strong>Why focus on &#8220;thinking?&#8221;</strong></h2><p>It may seem strange that I even need to argue for the value of effective thinking, but I do think it&#8217;s important to explain why I think this is so important. In my experience, data visualization (and data science, more generally) is taught with one of the following specific focuses:</p><ol><li><p><strong>Focus on technology:</strong> How to use a particular tool.</p></li><li><p><strong>Focus on design:</strong> How to design visual representations that communicate information effectively (and/or in an engaging or even surprising way).</p></li><li><p><strong>Focus on perception:</strong>&nbsp;How notions of visual perception and cognition can help in designing more effective representations.</p></li></ol><p>These are all great and important, but they miss a fundamental skill that, I would argue, is even more important than all the rest. This skill is thinking with data and data visualization. What do I mean by that? I will provide a more systematic explanation below, but on a first approximation, I mean being able to derive reliable information from data using visual representations of data. This type of skill is necessary for everyone. In particular, it&#8217;s necessary for both people whose job is to derive and communicate information from data, and those who consume this information for personal or professional use.</p><p>The main point I want to make here is that proficiency in using tools or designing visualizations is not enough if one is not skilled in assessing the validity of the facts and conclusions derived from data. My primary goal is to assist individuals like you who want to become better data thinkers.</p><h2><strong>Defining effective data thinking</strong></h2><p>There are many possible ways to define effective thinking with data visualizations. Here, I focus on a specific model I have developed over the years, teaching data visualization courses to college students and data professionals. To define effective thinking, I first need to show you one of my favorite diagrams.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!XEVb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!XEVb!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png 424w, /__u/substackcdn.com/image/fetch/$s_!XEVb!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png 848w, /__u/substackcdn.com/image/fetch/$s_!XEVb!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png 1272w, /__u/substackcdn.com/image/fetch/$s_!XEVb!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!XEVb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png" width="1352" height="338" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:338,&quot;width&quot;:1352,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89695,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/174921216?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!XEVb!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png 424w, /__u/substackcdn.com/image/fetch/$s_!XEVb!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png 848w, /__u/substackcdn.com/image/fetch/$s_!XEVb!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png 1272w, /__u/substackcdn.com/image/fetch/$s_!XEVb!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F160d3c7c-a8e4-4b37-9017-5e58a0dd285d_1352x338.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Data is a coarse description of real-world phenomena. While we all work in the data world, what really matters is the real world! Your data thinking is effective only if it helps you understand the real world better.</figcaption></figure></div><p>Though very simple, this diagram shows a crucial fact about the role data and data visualization play in shaping our understanding of the world. What you see in the diagram is a simple (and highly simplified) set of steps that take place with any data visualization, either implicitly or explicitly. Everything begins with real-world phenomena, which are depicted by the Earth icon on the left. Data is nothing more than a recording of properties of real-world phenomena across many instances and often across time spans or spatial locations. Data is not reality. It&#8217;s a representation of reality and often a very coarse and limited one. But it&#8217;s also very useful because it enables us to reason in a way that is impossible to achieve with just our senses. We can&#8217;t observe a million points for many years around the globe. We use data to do that! Effectively, data is a tool to create a sort of human superpower. In the same way we can observe distant objects with a telescope, we can think about real-world events through data. What we can&#8217;t perceive directly with our senses, we understand through data and its visual representations. And this is where visualization plays a crucial role. Data itself is still very hard to comprehend with our senses (you can&#8217;t draw much from a data table with fifty columns and a thousand rows - let alone with even more), so what do we do? We create abstract representations to enable us to grasp the totality of what the data has to offer. If you think about it, it&#8217;s quite fascinating: since we can&#8217;t observe these phenomena with our eyes directly, we use a whole procedure to still see them with our eyes, but in an indirect, and admittedly convoluted, way.</p><p>So, what does this have to do with effective data thinking? It has everything to do with it, and this is why. When we analyze data and communicate our findings, we are not interested in the data itself; we are interested in the reality the data represents. In turn, <strong>thinking with data visualization is effective if and only if it helps us understand the reality represented by the data better.</strong> That&#8217;s my definition of effective thinking with data visualization.</p><p>Of course, this is much easier said than done. In most cases, we don&#8217;t have reliable tools to verify whether our understanding of reality has improved. However, identifying ways in which our thinking is flawed is much easier to do. We are aware of many ways we can deceive ourselves and important ideas to learn in order to overcome these issues. Because of this, the primary goal of this series (and my course as well as the book I eventually plan to write) is to share with you a series of mental models and frameworks that will help you identify gaps between your interpretation of the data and the reality it represents.</p><h2><strong>What the series covers</strong></h2><p>At the time of writing, I plan to follow the main structure of my existing course, which is organized around four main components:</p><ol><li><p><strong>Data:</strong> Often, the biggest problems with interpretation originate from a limited understanding of what the data represent and what its limitations are. Here, we will cover a systematic approach to identify specific types of problems that can lead to misinterpretation.</p></li><li><p><strong>Transformations and calculations:</strong> Virtually all data sets require some data transformations before being visualized. At a minimum, they require the selection of specific variables and often some aggregations. However, all these operations can lead to a series of issues that impact interpretation. Here we will cover the most common transformations and the fallacies they can generate.</p></li><li><p><strong>Visual representations:</strong> There is always a myriad of possible representations for a given piece of information. What are the possible alternatives, and how do they impact interpretation? Here, we go beyond the notion of &#8220;effectiveness&#8221; and focus on how design choices influence what messages readers extract from a visualization.</p></li><li><p><strong>Contextual elements and framing:</strong> Charts always exist within a specific context, such as a presentation, a document, or a paper. What are the most common contextual elements, and how do they influence the way people read the charts? Here, we cover titles, annotations, and the general notion of &#8220;framing&#8221; as elements that influence what readers extract from a visualization. </p></li></ol><p>For each of these elements, I have specific ways to help you consider how a data visualization communicates and how the information it conveys or the way you interpret it can lead to gaps with the reality described by the data. Stay tuned for the next posts. I plan to write one or more for each of the topics outlined above.</p><div><hr></div><p>If you are interested in learning these skills in depth with my help, consider enrolling in my upcoming course &#8220;<strong><a href="https://maven.com/filwd/vis-think">Thinking Effectively with Data Visualization</a></strong>.&#8221; <strong>The next cohort starts on October 27, 2025</strong>. The course has recorded video lectures and live meetings twice a week for three weeks. It&#8217;s a lot of hands-on activities and plenty of time to interact and discuss these ideas together. To get a feel for it, you can watch <strong><a href="https://maven.com/p/94b1d9/intro-to-thinking-effectively-with-data-visualization">the first lecture here</a></strong>. You can also take a look at the syllabus by following <strong><a href="https://drive.google.com/file/d/10O1JJDFg_SbJnjpETPOKYg7CVwdNc6kd/view?usp=sharing">this link</a></strong>.</p><div><hr></div><p>If you are new to my newsletter, make sure to sign up for it! All posts are free, and you will receive updates on the series and many other topics directly in your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you like the ideas in this series, please share them in your preferred social media channels and let your colleagues and friends know! Thanks! &#128591;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/visthink-how-to-think-effectively?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/visthink-how-to-think-effectively?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Five Strategies for Analyzing Data with ChatGPT]]></title><description><![CDATA[Initial investigations on how to perform data analysis with AI tools]]></description><link>https://filwd.substack.com/p/five-strategies-for-analyzing-data</link><guid isPermaLink="false">https://filwd.substack.com/p/five-strategies-for-analyzing-data</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Tue, 23 Sep 2025 02:19:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dbue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842de0c4-728a-4ac5-a8ed-ef04984a4ba0_764x698.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the last few days, I have been &#8220;playing&#8221; with ChatGPT to keep developing a feel for what it can and cannot do with data. You may recall that I have conducted some initial experiments in the past, as well.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;cd6335f3-132a-4fc4-8e7b-bf6a83c1c748&quot;,&quot;caption&quot;:&quot;I am convinced that the best way to understand a technology is to use it. There is a lot of talk about ChatGPT and its use for data analysis, but I can only form an opinion by performing some data analysis on my own and seeing what I get.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Analyzing (My Workouts &#127947;&#65039;&#8205;&#9794;&#65039;) Data with ChatGPT&quot;,&quot;publishedBylines&quot;:[],&quot;post_date&quot;:&quot;2024-05-24T01:22:19.060Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb6e0ad-2788-40c4-97e6-c3e13b913db3_2365x1261.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/analyzing-my-workouts-data-with-chatgpt&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:144896759,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:10,&quot;comment_count&quot;:10,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;61474700-e1a5-4091-85ef-d592ef6faa4c&quot;,&quot;caption&quot;:&quot;In one of my past posts, I tried to answer the question, &#8220;What Can I Do for Data Visualization?&#8221;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can AI Suggest Good Data Questions?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-08-26T03:58:02.208Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!iiFG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F956100b7-9c31-4dbe-9e5f-eff8e29f2b0a_1200x1012.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/can-ai-suggest-good-data-questions&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:148130139,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:4,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0224d379-04cf-4a0b-9312-727ad2c2c406&quot;,&quot;caption&quot;:&quot;If you have been reading this newsletter for a while, you know that I have been playing with the latest AI tools to see what they can and cannot do with data visualization. In this post, I want to analyze AI capabilities from a new angle, the angle of reasoning with charts. One of the main ideas I have been pursuing in the last couple of years is how to&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can LLMs Detect Reasoning Errors with Charts?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-31T20:58:45.442Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9696ea-f44d-4f0a-96e2-887ec92afc3c_1832x1262.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/can-llms-detect-reasoning-errors&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:160278013,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:7,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>This time, I tasked myself with analyzing the <a href="https://data.boston.gov/dataset/vision-zero-crash-records">Boston Vision Zero Crash data set</a>. This dataset collects information about vehicle crashes occurring in the Boston area. The dataset is quite simple. It contains information about when and where the crash occurred, whether it involved a motor vehicle, bicycle, or pedestrian, and the type of location (intersection, street, or other).</p><p>My goal is not to show you everything I did, but rather to share a few strategies I have developed while analyzing data with ChatGPT.</p><h2>Strategies</h2><p>Looking back at the many prompts I wrote for the analysis, I have identified four important strategies.</p><h3>1. Be specific</h3><p>There are a million ways one can ask ChatGPT to do something for them. I always obtain the best results when I am specific and thorough. For example, I don&#8217;t ask ChatGPT to &#8220;show me the trends over time&#8221; (a vague and underspecified request), but rather, I ask, &#8220;Generate a line chart showing weekly count of crashes.&#8221; Most of the time, I try to include information about (a) what type of chart I want, (b) what type of data transformation is needed, and (c) how I want the variables to be mapped. This is a good example: &#8220;Create a <em>line chart</em> showing the <em>number of crashes</em> by the <em>hour of the day</em>.&#8221; Here, I specify the plot I want to use (&#8220;line chart&#8221;), the metrics it needs to compute (&#8220;number of crashes&#8221;), and the granularity I want to use (&#8220;by hour of the day&#8221;).</p><h3>2. Use coding tools (notebooks)</h3><p>It would be fantastic if everything could be done within ChatGPT, but the reality is that some tasks require coding. The good news is that one does not need to be particularly proficient in coding, as ChatGPT and all other LLMs excel at producing code. One just needs to learn how to launch a notebook, such as <a href="https://jupyter.org/">Jupyter</a> or <a href="https://colab.research.google.com/">Google Colab</a>, and trust that they will be able to copy and paste code to try things out. When using code while not being proficient, three things work really well: (a) ask ChatGPT to produce code for one step at a time, (b) ask ChatGPT to explain what different parts of the code do, and (c) ask ChatGPT how to perform certain operations through code. I found that even if I don&#8217;t know how to do something, the notebook quickly becomes a learning-by-doing environment where ChatGPT tells me how to do something, and I try it out in the notebook (which is also a great strategy to deal with <a href="https://medium.com/design-bootcamp/cognitive-debt-what-i-learned-from-mits-paper-on-ai-and-brain-atrophy-dbb54f7f064a">cognitive debt</a>).</p><h3>3. Ask for interpretations</h3><p>LLMs bring a completely new element to the data analyst toolkit: a machine that can provide interpretations of the generated output. When a new chart is generated, you can ask ChatGPT to explain what the graph shows and why a certain relationship exists. Now, the results can be wildly inaccurate, but this is not the point. By providing you with some kind of reasoning, it can help you think about potential causes for effects that you observe. Here is a good example of this idea. I created a box plot showing the relationship between precipitation and the number of crashes. If you are not careful, you may expect that the number of crashes increases with the precipitation amount, but this is what the chart looks like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!MUCw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!MUCw!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png 424w, /__u/substackcdn.com/image/fetch/$s_!MUCw!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png 848w, /__u/substackcdn.com/image/fetch/$s_!MUCw!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png 1272w, /__u/substackcdn.com/image/fetch/$s_!MUCw!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!MUCw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png" width="480" height="315.1437699680511" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1252,&quot;resizeWidth&quot;:480,&quot;bytes&quot;:98337,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/173923744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!MUCw!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png 424w, /__u/substackcdn.com/image/fetch/$s_!MUCw!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png 848w, /__u/substackcdn.com/image/fetch/$s_!MUCw!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png 1272w, /__u/substackcdn.com/image/fetch/$s_!MUCw!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1090ed-b417-442c-a593-0e6e67a6a1fd_1252x822.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How do you explain that? Well &#8230; you can ask ChatGPT and see if it has a sensible explanation. Here is what it returned:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!nViz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!nViz!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png 424w, /__u/substackcdn.com/image/fetch/$s_!nViz!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png 848w, /__u/substackcdn.com/image/fetch/$s_!nViz!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nViz!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!nViz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png" width="636" height="277.8131868131868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:1456,&quot;resizeWidth&quot;:636,&quot;bytes&quot;:149416,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/173923744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!nViz!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png 424w, /__u/substackcdn.com/image/fetch/$s_!nViz!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png 848w, /__u/substackcdn.com/image/fetch/$s_!nViz!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nViz!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79e505-2128-422e-9f79-07b06433ecd4_1590x694.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!bIGh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bIGh!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png 424w, /__u/substackcdn.com/image/fetch/$s_!bIGh!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png 848w, /__u/substackcdn.com/image/fetch/$s_!bIGh!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bIGh!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_webp, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bIGh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png" width="624" height="273.85714285714283" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:639,&quot;width&quot;:1456,&quot;resizeWidth&quot;:624,&quot;bytes&quot;:144094,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://filwd.substack.com/i/173923744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!bIGh!, /__u/filwd.substack.com/w_424, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png 424w, /__u/substackcdn.com/image/fetch/$s_!bIGh!, /__u/filwd.substack.com/w_848, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png 848w, /__u/substackcdn.com/image/fetch/$s_!bIGh!, /__u/filwd.substack.com/w_1272, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bIGh!, /__u/filwd.substack.com/w_1456, /__u/filwd.substack.com/c_limit, /__u/filwd.substack.com/f_auto, /__u/filwd.substack.com/q_auto:good, /__u/filwd.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad373adf-1349-4e5e-83c4-239876c7cb97_1568x688.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s pretty impressive if you think about it. It provides a good account of the fact that even if more precipitation produces riskier conditions, the number of cars decreases, thus reducing the chances of collisions. (As a side note, this is a fantastic example of &#8220; base rate bias,&#8221; a common interpretation problem I cover in my course on how to &#8220;<a href="https://maven.com/filwd/vis-think">Think Effectively with Data Visualization</a>.&#8221;)</p><h3>4. Ask for guidance</h3><p>At some point during my analysis, I wanted to produce a heat map showing how collisions are distributed spatially. I knew that I had to ask it to produce a distribution using <a href="https://en.wikipedia.org/wiki/Kernel_density_estimation">Kernel Density Estimation</a> (KDE) (a statistical method to generate a continuous distribution from discrete data points), but I could not recall what parameters I had to set to produce the image I wanted. The first result did not have enough details (the one on the right), and I knew the problem was in the KDE settings.</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/842de0c4-728a-4ac5-a8ed-ef04984a4ba0_764x698.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70d9a9da-b702-4cc0-843a-184761cf7376_764x700.png&quot;}],&quot;caption&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/789b232d-ba14-4f29-9070-632746d0d229_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>As a next step, I asked it to explain to me how KDE works and what parameter I had to change to obtain the results I wanted, and this is exactly what it did. The image on the right is what I obtained after learning how to use KDE properly (FYI: the parameter to set was the &#8220;bandwidth&#8221;).</p><h3>5. Ask, &#8220;What else?&#8221;</h3><p>In one of my previous posts, I already demonstrated that ChatGPT can help you figure out what questions you can ask a dataset.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;33ce7f48-b0c5-4634-8163-a6d6e47cadf7&quot;,&quot;caption&quot;:&quot;In one of my past posts, I tried to answer the question, &#8220;What Can I Do for Data Visualization?&#8221;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can AI Suggest Good Data Questions?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Academic researcher and educator &#128104;&#8205;&#127979;. Data Visualization, Visual Analytics and Explainable AI &#128202;. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-08-26T03:58:02.208Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!iiFG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F956100b7-9c31-4dbe-9e5f-eff8e29f2b0a_1200x1012.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/can-ai-suggest-good-data-questions&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:148130139,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:4,&quot;publication_id&quot;:413291,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d6yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>But a more interesting use of this idea is when you have already explored a few trends and you feel like you are hitting a wall. In this case, you can ask, &#8220;What else should I explore?&#8221; I tried this a few times and it works surprisingly well. Again, do not expect ChatGPT to be perfect and do the work for you. What ChatGPT does very well is to give you new paths, new ideas, so that you can continue with your own creativity.</p><h2>Conclusion</h2><p>There is a lot more I&#8217;d like to share, even from this simple interaction. Here, I focused only on a few useful strategies but I have more to share. In a future post, I&#8217;d like to highlight what does not work well and ideas on how LLM-based interfaces for data analysis could be improved. Stay tuned!</p><p>If you have any experience performing data analysis with ChatGPT, let me know how things work for you. Leave a commnt below. I&#8217;d love to hear your story.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/five-strategies-for-analyzing-data/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/five-strategies-for-analyzing-data/comments"><span>Leave a comment</span></a></p><p>Thanks!</p>]]></content:encoded></item><item><title><![CDATA[A Reading List on GenAI for Data Visualization]]></title><description><![CDATA[Enjoy the reading!]]></description><link>https://filwd.substack.com/p/a-reading-list-on-genai-for-data</link><guid isPermaLink="false">https://filwd.substack.com/p/a-reading-list-on-genai-for-data</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Thu, 04 Sep 2025 04:07:16 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/955ca878-b931-405e-9695-c85f8ebb6a08_722x722.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi folks! I hope you are enjoying the last bits of summer. Here I am busy preparing for the two courses I&#8217;ll teach this semester at Northeastern University. One of these courses is new and completely devoted to the intersection of Data Visualization and Generative AI. The first half of the course is devoted to reading research papers on this topic. Here is the list I have compiled for the course. I am sure you&#8217;ll enjoy reading about this rapidly evolving research!</p><div><hr></div><h3><strong>Prompt-to-Vis Systems</strong></h3><p>LLMs can be used to ask an AI system to generate charts that solve a particular problem, enabling data visualization specification using natural language instead of code, domain languages, or UI interactions.</p><ul><li><p><a href="https://arxiv.org/abs/2303.02927">LIDA: A Tool for Automatic Generation of Grammar-Agnostic Visualizations and Infographics using Large Language Models</a></p></li><li><p><a href="https://arxiv.org/abs/2311.01920">ChartGPT: Leveraging LLMs to Generate Charts from Abstract Natural Language</a></p></li><li><p><a href="https://arxiv.org/pdf/2401.11255">Visualization Generation with Large Language Models: An Evaluation</a></p></li><li><p><a href="https://arxiv.org/pdf/2401.10880">DynaVis: Dynamically Synthesized UI Widgets for Visualization Editing</a></p></li></ul><h3><strong>Image Synthesis for Vis</strong></h3><p>Most data visualization solutions based on LLM transform prompts into code that generates the desired charts. However, generative AI can also generate images directly, rather than relying on code. Here are a few papers that do exactly that.</p><ul><li><p><a href="https://arxiv.org/abs/2304.14630">Let the Chart Spark: Embedding Semantic Context into Chart with Text-to-Image Generative Model</a></p></li><li><p><a href="https://arxiv.org/abs/2304.01919">viz2viz: Prompt-driven stylized visualization generation using a diffusion model</a></p></li><li><p><a href="https://vis.khoury.northeastern.edu/pubs/Schetinger2023DoomDeliciousnessChallenges/">Doom or deliciousness: challenges and opportunities for visualization in the age of generative models</a></p></li></ul><h3><strong>Narrative Sequences</strong></h3><p>Building a sequence of charts and text is the core of data storytelling. LLMs can provide support in the ideation and implementation of these sequences, and the text introduces and describes each chart.</p><ul><li><p><a href="https://arxiv.org/abs/2410.03268">Narrative Player: Reviving Data Narratives with Visuals</a></p></li><li><p><a href="https://arxiv.org/abs/2308.04076">DataTales: Investigating the use of Large Language Models for Authoring Data-Driven Articles</a></p></li><li><p><a href="https://arxiv.org/abs/2503.22946">DATAWEAVER: Authoring Data-Driven Narratives through the Integrated Composition of Visualization and Text</a></p></li></ul><h3><strong>Captioning and Accessibility</strong></h3><p>Describing charts in terms of their structure and content is crucial for interpretation and accessibility. Can LLM provide the necessary support to support these important tasks? Can visually impaired users leverage GenAI to get easier access to visual content?</p><ul><li><p><a href="https://arxiv.org/abs/2502.07725">Pluto: Authoring Semantically Aligned Text and Charts for Data-Driven Communication</a></p></li><li><p><a href="https://arxiv.org/abs/2310.09611">VizAbility: Enhancing Chart Accessibility with LLM-based Conversational Interaction</a></p></li><li><p><a href="https://dl.acm.org/doi/abs/10.1145/3663548.3675660">MAIDR Meets AI: Exploring Multimodal LLM-Based Data Visualization Interpretation by and with Blind and Low-Vision Users</a></p></li></ul><h3><strong>LLMs as Chart Readers</strong></h3><p>Can LLMs do some of the evaluative work that humans normally do with data visualizations? These papers examine the capabilities of LLMs and evaluate their performance in a series of interpretation and reasoning tasks.</p><ul><li><p><a href="https://arxiv.org/abs/2504.05445">Probing the visualization literacy of vision Language Models: The good, the bad, and the ugly.</a></p></li><li><p><a href="https://arxiv.org/abs/2407.17291">How good (or bad) are LLMs at detecting misleading visualizations?</a></p></li><li><p><a href="https://arxiv.org/abs/2408.06837">How aligned are human chart takeaways and LLM predictions? A case study on bar charts with varying layouts.</a></p></li></ul><h3><strong>User-Driven Output Verification</strong></h3><p>LLMs often make mistakes in data-related tasks, such as data transformation and visual mapping. Therefore, user interfaces are essential to help data analysts verify the generated output. These papers offer infrastructural and UI support for users to verify LLM output.</p><ul><li><p><a href="https://arxiv.org/abs/2306.07760">Urania: Visualizing Data Analysis pipelines for natural language-based data exploration.</a></p></li><li><p><a href="https://arxiv.org/abs/2408.01703">WaitGPT: Monitoring and steering conversational LLM agent in data analysis with on-the-fly code visualization.</a></p></li></ul><h3><strong>Evaluation and Benchmarks</strong></h3><p>Evaluating LLMs&#8217; charting capabilities at scale is crucial for enabling the evaluation and validation of novel systems and techniques for AI-driven data visualization. These papers provide evaluation methods and benchmark data set creation to assess the performance of LLM-based data visualization systems.</p><ul><li><p><a href="https://arxiv.org/abs/2404.17136?utm_source=chatgpt.com">Automated Data Visualization from Natural Language via Large Language Models: An Exploratory Study</a></p></li><li><p><a href="https://arxiv.org/abs/2407.00981?utm_source=chatgpt.com">VisEval: A Benchmark for Data Visualization in the Era of Large Language Models</a></p></li><li><p><a href="https://arxiv.org/abs/2309.10245?utm_source=chatgpt.com">Natural Language Dataset Generation Framework for Visualizations Powered by Large Language Models</a></p></li></ul><h3><strong>Understanding Real-World Use</strong></h3><p>To assess the use of LLMs for data visualization, it is essential to understand their practical application. These studies examine how people utilize LLMs for data-related tasks, including the challenges they face, the opportunities they present, and the strategies employed.</p><ul><li><p><a href="https://arxiv.org/abs/2304.08366?utm_source=chatgpt.com">Why is AI not a Panacea for Data Workers? An Interview Study on Human-AI Collaboration in Data Storytelling</a></p></li><li><p><a href="https://www.uw-insight-lab.com/assets/papers/TiiS-AIThreads.pdf?utm_source=chatgpt.com">Data has Entered the Chat: How Data Workers Conduct Exploratory Visual Analytic Conversations with GenAI Agents</a></p></li></ul><div><hr></div><p>If you have recommendations for topics or specific papers to add, let me know!</p><p>Enjoy this list and look out for more posts on this topic. I will have more to report as my university course unfolds.</p>]]></content:encoded></item><item><title><![CDATA[New Webinar: How NOT to Lie with Charts. Sign up!]]></title><description><![CDATA[Hi all!]]></description><link>https://filwd.substack.com/p/new-webinar-how-not-to-lie-with-charts</link><guid isPermaLink="false">https://filwd.substack.com/p/new-webinar-how-not-to-lie-with-charts</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Mon, 18 Aug 2025 14:12:31 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b7c3306c-06ac-4c58-bfa3-e135901491fd_3200x1800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi all! I hope you are having a great summer!</p><p>This is just a short message to let you know I am organizing a new free webinar for September 9th titled &#8220;<a href="https://maven.com/p/55ea1c/how-not-to-lie-with-charts">How NOT to Lie with Charts.</a>&#8221;</p><p>When you create your data presentations, how do you know that your charts and the conclusions you derive from them are true? What if you made a mistake? What if someone calls you out? What if you realize you've unintentionally misled your readers?</p><p><strong>It happens to everyone. It&#8217;s hard. But it can be mitigated.</strong></p><p>Creating truthful data stories is really hard, and we are all prone to mistakes. The more you try, the more you realize how hard it is. Reasoning with or from data is really hard!</p><p>In this webinar, I will walk you through the major elements needed to learn how to <strong>debug your data reasoning</strong> and <strong>reduce the chances of making mistakes</strong>.</p><p>Sign up soon! </p><p>&#128073; <a href="https://maven.com/p/55ea1c/how-not-to-lie-with-charts">Webinar: How NOT to Lie with Charts</a></p><p>I am very excited to have a new webinar out, and I am looking forward to seeing you there!</p><p>Best,<br>Enrico.</p>]]></content:encoded></item><item><title><![CDATA[How NOT to Lie with Charts]]></title><description><![CDATA[10 Rules for Truthful Data Visualization]]></description><link>https://filwd.substack.com/p/how-not-to-lie-with-charts</link><guid isPermaLink="false">https://filwd.substack.com/p/how-not-to-lie-with-charts</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Tue, 22 Jul 2025 19:56:14 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fadf294a-46b7-41be-b326-e78869ac1a44_360x360.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you dabble with data analysis and visualization long enough, you must have come across the problem of &#8220;misleading visualization.&#8221; The literature is vast, fun, and interesting. I have contributed in many ways myself through scientific research, many posts in this newsletter, and, more recently, by developing courses that teach how to detect misleading visualizations.</p><p>One problem I see with all these approaches is that they seem to focus exclusively on teaching consumers of data visualizations how to spot problems. Still, they rarely focus on producers so that they can avoid some of these problems in the first place. It&#8217;s important to recognize that 1) developing truthful data visualizations is really hard, and 2) many issues with misleading data visualization stem from a limited ability to reason effectively with data.</p><p>As a first step toward teaching data professionals how to create more truthful data visualizations, I developed an initial set of 10 rules for creating truthful data visualizations. This is a work in progress, and I am not yet offering many details. My goal here is to gather your feedback and see if this resonates with you. Let me know what you think!</p><h2><strong>1. Develop an attitude</strong></h2><p>This is absolutely crucial. If you don&#8217;t start with having an explicit intent to be truthful and skeptical, there is no way you can avoid being fooled by data sooner or later. Skepticism is particularly important, especially when directed towards yourself. Being fooled by data is remarkably easy, and believing something simply because the data indicates it is also very easy. After many years of conducting data analysis and research, my experience with data has taught me to be extremely skeptical. Most large effects are either obvious or due to data errors, so my prior is always that something else explains the trend I am observing.</p><h2><strong>2. Understand the domain</strong></h2><p>It&#8217;s so tempting to jump on the data and start drawing conclusions. But the reality (and probably the most important secret of data analysis) is that drawing knowledge from data requires domain expertise. There is simply no way a person without domain knowledge can develop the same interpretive and evaluative skills as someone who understands the reality described by the data. Remember: we work with data because we are interested in the reality it (often partially and coarsely) represents. Yeah &#8230; dabbling with numbers and code is fun, but what matters is real-world facts and actions that stem from them, not numbers.</p><h2><strong>3. Understand the data</strong></h2><p>This is so often overlooked. Maybe it&#8217;s the most troubling problem I see. People tend to trust the data they find or receive from others. I have an exercise in class where students must select data from <a href="https://ourworldindata.org/">Our World in Data</a>, a reputable source, and conduct research to understand where the data originates, how it was collected, and potential limitations associated with it. It&#8217;s always surprising to see how, even from such a reputable source, it&#8217;s hard to verify how the data was created, and it&#8217;s not rare to find several issues. This is important because there is simply nothing you can do at the data processing and visualization level to correct for problems that exist in the data. This is a classic case of garbage in, garbage out. If your data is not reliable or, more importantly, you have a wrong mental model of what it represents, you are at high risk of misrepresenting reality, no matter how careful you are with your visual representations.</p><h2><strong>4. Use appropriate numbers and calculations</strong></h2><p>You might ask, &#8220;What do you mean by appropriate?&#8221; When you work with data, the output of the process is to produce (implicitly or explicitly) a series of &#8220;data facts,&#8221; statements that represent your interpretation of patterns and trends you extracted from the data. This is often reflected in the titles and accompanying text you write, as well as the spoken words you use when presenting the results. Your interpretation, however, can be incorrect, and this is where insidious gaps can reside. So, appropriate numbers are those that accurately reflect your interpretations. If you think a number represents a given concept when in fact it does not, you are in trouble.</p><p>Imagine you want to analyze the <a href="https://data.cityofnewyork.us/Public-Safety/Motor-Vehicle-Collisions-Crashes/h9gi-nx95/about_data">NYC vehicle collision data set</a> to determine the &#8220;most dangerous areas to drive in NYC.&#8221; You can use the number of collisions or the average number of people injured in each zip code area. However, if you use the number of collisions, you are in trouble, because those numbers depend on how many cars circulate in a given area, so it does not represent the level of &#8220;danger,&#8221; but rather how trafficked a given area is. Virtually all numbers have a gap between the concept you want to work with and the reality they represent, and being aware of these gaps is essential to producing truthful visualizations.</p><p>This problem becomes even more severe when the numbers we use are the product of complex calculations. So, while complex calculations and statistics are essential for deriving signals from noisy data, it is also crucial to be aware of the numerous limitations these numbers have.</p><h2><strong>5. Aggregate mindfully</strong></h2><p>In visualization, we often have the choice to represent the data as statistical aggregates or individual data points. We can display each vehicle collision on a map or simply count the number of collisions in each zip code area. Aggregation is useful because it reduces clutter and often makes it easier to observe trends and make comparisons. But it also necessarily hides information. There is a constant tension between these two needs: transparency vs. clarity. Higher granularity leads to greater transparency, but often results in less clarity. Lower granularity leads to less transparency but more clarity. There is no fixed rule on how to strike a balance between these two needs, but my experience suggests that people often err on the side of either too much or too casual aggregation. Exploring data at the lowest level of granularity possible is essential, at the very least, as a sanity check. Your highly granular charts may not end up in your slides, but having explored them gives you the peace of mind that you have checked what&#8217;s behind those aggregations.</p><h2><strong>6. Disclose uncertainty (within reason)</strong></h2><p>There are multiple sources of uncertainty when dealing with data. Uncertainty in how the values have been recorded, uncertainty in the summary statistics that you use, uncertainty in the interpretations and explanations you provide (to yourself and others). Being aware of these sources of uncertainty is the first step. You have to be conscious of the fact that data contains errors and inaccuracies, statistics are not exact numbers, and alternative explanations may exist for the same set of phenomena you observe in the data. Once you become aware of all these sources of uncertainty, you must decide how to disclose them to your readers. Jessica Hullman has a very interesting paper titled &#8220;<a href="https://arxiv.org/abs/1908.01697">Why Authors Don&#8217;t Visualize Uncertainty</a>&#8221; on this very problem. She interviewed several professionals and asked them how they show uncertainty in their visualizations, and the results are very revealing. Many feel like exposing uncertainty dilutes the message. How do you want to deal with this problem? How do YOU want to deal with this problem? This is harder than it may seem because communicating all sources of uncertainty can become a daunting task and completely overwhelming for your audience. So, this is another area where a sensible trade-off is needed.</p><h2><strong>7. Segment your data</strong></h2><p>When we observe a trend on a visualization, we are often tempted to take note of it and move on to something else. However, when we do that, we miss the opportunity to use one of the most powerful moves in data analysis, which is data segmentation. Segmentation means that when you see a pattern, you want to see if the same pattern holds in a specific subset of your data. When I create a line chart showing the number of collisions by hour of the day, I also want to explore what this trend looks like in different geographical areas, seasons, vehicle classes, and other factors. These are all examples of &#8220;segmentations&#8221; that can reveal very relevant information. I have a personal habit of always segmenting the patterns I expose by potentially meaningful variables. Many trends change when you look at specific segments of the data, and exploring them mindfully is part of the procedures necessary to avoid fooling yourself and others.</p><h2><strong>8. Ask yourself: &#8220;Compared to what?&#8221;</strong></h2><p>Legendary economist <a href="https://en.wikipedia.org/wiki/Thomas_Sowell">Thomas Sowell</a> wrote in <a href="https://www.amazon.com/Economic-Facts-Fallacies-Thomas-Sowell/dp/0465022030">Economic Facts and Fallacies</a>, &#8220;Virtually nothing is going to be equally beneficial for all people, or equally detrimental. The real question is always: &#8216;Compared to what?&#8217;&#8221; In data visualization, we can use a similar principle. Whenever we see a trend and derive a conclusion from it, it&#8217;s useful to ask ourselves, &#8220;Compared to what?&#8221; This is because data is virtually always partial, and we are tempted to focus exclusively on what is under our eyes and not on what is missing. If we compare a set of objects, a large difference may appear very relevant within that set, but meaningless when viewed in the context of a much larger set of objects. Similarly, if we analyze a temporal trend for a specific time period, a significant shift may appear dramatic within that time horizon, but insignificant on a much longer timespan. Being mindful that all comparisons are potentially limited by the objects we have versus those that few could have is a good habit and often helps put data in a much broader context.</p><h2><strong>9. Scale visuals mindfully</strong></h2><p>Visualization is all about mapping abstract numbers into perceivable graphical properties of objects, that is, size, length, color, etc. The rules we use (or our tools use as defaults) to map values to visual properties have a strong impact on what we perceive in a chart. Because of that, it is crucial to be mindful of the different ways data can be scaled when mapped to visual properties. Many of the most well-known &#8220;misleading visualization&#8221; examples represent scaling problems at their core. <a href="https://arxiv.org/abs/1907.02035">Truncated axis</a>? A scaling problem. Inappropriate area mapping? A scaling problem. <a href="https://policyviz.com/2022/10/06/avoiding-the-dual-axis-chart/">Misleading double-axis</a> charts? Another scaling problem. Often, choosing an appropriate scale is not as simple as avoiding blatant distortions. Some patterns may be easier to discern when data are scaled in a certain way than when scaled in another way. For example, cases exist where scaling data nonlinearly or truncating an axis can reveal important trends that would otherwise be difficult to discern. This is another example of the idea that there are no hard rules but just trade-offs that depend on the specific problem.</p><h2><strong>10. Use truthful titles</strong></h2><p>Titles are often the part of a visualization that is more prone to overclaiming. The need to be succinct, paired with the desire to capture people&#8217;s attention, often leads to titles that go beyond what can be inferred from the data. Titles, however, are incredibly important. Research demonstrates that people spend a significant amount of their attention on titles, and often, they are the only thing people remember from a chart. At the same time, titles are also where many others commit the sin of oversimplifying. One possible solution is to use only titles that describe what the chart is about, but this often results in very boring titles. Titles can also be more interpretive, but it&#8217;s important to ask yourself, &#8220;Does the data actually show that?&#8221; Another option is to use questions as titles. Questions draw people in and stimulate curiosity, and I think they should be used more often.</p><div><hr></div><p>That&#8217;s all for now, folks. Let me know what you think. Do these guidelines resonate with you? Is there anything you&#8217;d like to add? Let me know in the comments below.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/how-not-to-lie-with-charts/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/filwd.substack.com/p/how-not-to-lie-with-charts/comments"><span>Leave a comment</span></a></p><div><hr></div><p><strong>&#128161; Hey &#8230; I have a course to teach you these skills!</strong></p><p>If you're interested in learning these skills with me, consider signing up for the upcoming cohort of my <a href="https://maven.com/filwd/rhetorical-data-visualization">Rhetorical Data Visualization course</a>. You&#8217;ll meet with me and other students for a total of <strong>six live online workshops</strong>. The course includes:</p><ol><li><p>Recorded video lectures to watch at home</p></li><li><p>Quizzes to test your knowledge</p></li><li><p>Six live meetings with hands-on activities</p></li><li><p>A final project</p></li></ol><p>&#128073; <a href="https://calendly.com/enrico-bertini/15-minute-course-consultation-w-enrico">Book a call with me</a>. I&#8217;d be happy to provide you with a comprehensive preview of the course and address any questions you may have. I&#8217;d love to learn more about you.</p><p>P.S. The dates are tentative, so if they don't work for you, please let me know and I&#8217;ll try to make accommodations.</p>]]></content:encoded></item><item><title><![CDATA[Monthly Update: June, 2025]]></title><description><![CDATA[Webinars, courses, solid posts, interviews, future plans.]]></description><link>https://filwd.substack.com/p/monthly-update-june-2025</link><guid isPermaLink="false">https://filwd.substack.com/p/monthly-update-june-2025</guid><dc:creator><![CDATA[Enrico Bertini]]></dc:creator><pubDate>Fri, 20 Jun 2025 14:58:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey folks,</p><p>Summer is finally upon us (well, here in Massachusetts, it&#8217;s been a complete rollercoaster! &#127906;) and everything seems to slow down. But May and June have been another combo of intense activity for the newsletter. I published a few solid posts (one went viral!), recorded a podcast, and promoted my webinar and upcoming course. Let&#8217;s review each in order.</p><h2>Webinars and courses</h2><p>A new cohort of my <a href="https://maven.com/filwd/rhetorical-data-visualization">Rhetorical Data Visualization course</a> is starting in mid-July. You can still sign up for it if you&#8217;re interested! You&#8217;ll learn how to detect and avoid misleading visualizations and design more truthful solutions. See details in my post.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f1f2ec5b-8866-455d-9cfc-c1f24ee065ac&quot;,&quot;caption&quot;:&quot;Hi folks,&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Enroll in My Rhetorical Data Visualization Course!&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Faculty @ Northeastern University. Researcher and educator. Working on Data Visualization, Visual Analytics and Explainable AI. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-13T14:02:33.691Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/192a1598-4e72-4672-b977-d78d67c76b58_1550x994.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/enroll-in-my-rhetorical-data-visualization&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:163089197,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I published two live webinars, and I'm quite happy with them. The first is about ways in which visualization can mislead, beyond the classic misleading visualizations with which we are all familiar. The second is about a narrower but important topic: how we perceive causality from certain types of charts and why we can get fooled by them.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;161e415a-7833-4644-9e62-6ad4a4fca085&quot;,&quot;caption&quot;:&quot;Hi all,&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Webinar: Can You Trust It? 4 Ways Data Visualizations Mislead&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Faculty @ Northeastern University. Researcher and educator. Working on Data Visualization, Visual Analytics and Explainable AI. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-01T03:15:45.388Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd4d0739-84f3-480d-85c9-bc527afd3d79_1782x930.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/webinar-can-you-trust-it-4-ways-data&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162588400,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d8d4e809-237e-43fa-8661-11f3351cf31f&quot;,&quot;caption&quot;:&quot;Join me for a free webinar next week!&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Live Webinar On \&quot;The Illusion of Causality in Charts.\&quot; Sign Up!&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Faculty @ Northeastern University. Researcher and educator. Working on Data Visualization, Visual Analytics and Explainable AI. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-09T19:27:03.390Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/871bf4da-7a0d-4012-8160-c9d001c42bfb_828x714.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/live-webinar-on-the-illusion-of-causality&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:165568285,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>Watch the recordings!</h3><p>Watch the recordings by following these two links:</p><ul><li><p><a href="https://maven.com/p/60a5f9/can-you-trust-it-4-ways-data-visualizations-mislead?utm_medium=ll_share_link&amp;utm_source=instructor">Can You Trust It? 4 Ways Data Visualizations Mislead</a></p></li><li><p><a href="https://maven.com/p/d1a4ec/don-t-get-fooled-avoid-the-illusion-of-causality-in-charts?utm_medium=ll_share_link&amp;utm_source=instructor">Don't Get Fooled! Avoid The Illusion of Causality in Charts</a></p></li></ul><p>If you have ideas for future webinars that you would like me to produce, please share them by sending me a message.</p><div class="directMessage button" data-attrs="{&quot;userId&quot;:5453110,&quot;userName&quot;:&quot;Enrico Bertini&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div><h2>Posts and podcasts</h2><p>My post on the &#8220;Illusion of Causality in Charts&#8221; went viral. It&#8217;s one of the most successful posts I've ever published. If you have not seen it, I encourage you to take a look.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;09fd8e65-f1f7-4514-bccf-0bb648afffeb&quot;,&quot;caption&quot;:&quot;A while back, I wrote an article here titled &#8220;Implied Causality in Line Charts.&#8221; The article examined the notion that certain charts imply a causal relationship between an event and an outcome, when such a relationship may not actually exist. In that post, I used line charts as a running example. I identified three ways in which line charts can suggest &#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Illusion of Causality in Charts&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Faculty @ Northeastern University. Researcher and educator. Working on Data Visualization, Visual Analytics and Explainable AI. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-25T13:01:18.656Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3a9109f-ebe8-4ac2-8f68-ebe1a74f803b_838x558.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/the-illusion-of-causality-in-charts&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:164304876,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:33,&quot;comment_count&quot;:10,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I also wrote about qualitative visualization. In May, I gave a private workshop, and I was asked to include information about qualitative visualization, which made me realize how foggy this specific area of data visualization is. The post includes initial ideas to define what qualitative data visualization is.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c727ca4f-9aae-4c6d-b105-477659b725a8&quot;,&quot;caption&quot;:&quot;This coming month, I&#8217;ll be teaching a private data visualization workshop, and the students have expressed interest in learning, among other topics, how to use visualization qualitatively. Their request made me reflect on the fact that traditional data visualization pedagogy rarely addresses this issue explicitly. I realized that there is a significant &#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;What is Qualitative Data Visualization?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Faculty @ Northeastern University. Researcher and educator. Working on Data Visualization, Visual Analytics and Explainable AI. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-28T21:19:52.344Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9527f2e2-bde2-4365-8d3f-de3a0f5396c8_1400x984.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/what-is-qualitative-data-visualization&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162363130,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:12,&quot;comment_count&quot;:7,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>A few days ago, I posted something on &#8220;truthfulness&#8221; in visualization. Inspired by the webinars and my courses, I began exploring the concept of what it means for a chart to be considered &#8220;true.&#8221; You can expect more posts in the future exploring this important question.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;24e9b92c-0816-42f7-873f-3b1e744ebef2&quot;,&quot;caption&quot;:&quot;It&#8217;s funny how there is an extended literature in the many ways a chart can lie, but somehow very little about what it means for a chart to be &#8220;true.&#8221; You may think that a true chart is one that does not lie, but as you will see in a moment, it&#8217;s not as simple as it seems.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;When Is a Chart &#8220;True?&#8221; What Does It Even Mean?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Faculty @ Northeastern University. Researcher and educator. Working on Data Visualization, Visual Analytics and Explainable AI. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-10T18:10:58.292Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31fc13ac-596e-4540-9e14-f2d747d84a09_840x642.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/when-is-a-chart-true-what-does-it&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:165644465,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Early in May, I interviewed Richard Brath to talk about the use of AI in visualization. Richard gives amazing demos of his experiments with AI. If you have not watched it yet, I strongly encourage you to take a look! On a side note, I plan to be more consistent with these video podcasts. There are a few more people I&#8217;d like to interview in the area of AI and visualization.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1b25b761-01c6-4316-a988-ef35863a7e49&quot;,&quot;caption&quot;:&quot;[Note: Sorry for the bad quality of my audio! I forgot to activate my mic and ended up recording through my AirPods. &#128555;]&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Visualizing Text Data Using AI w/ Richard Brath&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5453110,&quot;name&quot;:&quot;Enrico Bertini&quot;,&quot;bio&quot;:&quot;Faculty @ Northeastern University. Researcher and educator. Working on Data Visualization, Visual Analytics and Explainable AI. Italian &#127470;&#127481;. Father of 3 &#128102;&#127995;&#128102;&#127995;&#128102;&#127995;.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4b9e31-2658-421a-b1d8-76218bc8c674_2316x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-08T01:54:35.860Z&quot;,&quot;cover_image&quot;:&quot;https://substack-video.s3.amazonaws.com/video_upload/post/162935141/4bc88893-45b6-41c2-8816-cea05940669f/transcoded-1746492644.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://filwd.substack.com/p/visualizing-text-data-using-ai-w&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162935141,&quot;type&quot;:&quot;podcast&quot;,&quot;reaction_count&quot;:10,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;FILWD&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fffb9a4cf-c54f-4c34-b318-28f5a385efe2_273x273.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>As a side note, you can also listen to the interviews on Spotify if you want to be mobile! You can find this interview here:</p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a9008ce846cef353707b833ef&quot;,&quot;title&quot;:&quot;Visualizing Text Data Using AI w/ Richard Brath&quot;,&quot;subtitle&quot;:&quot;Enrico's chats with people working with data (academics, designers, artists, etc.)&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/0LHdXkFPWrb1pbyLNKw1KT&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/0LHdXkFPWrb1pbyLNKw1KT" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><h2>Future plans</h2><ul><li><p><strong>InfoVis course online.</strong> I devoted the first six months of 2025, in large part, to producing educational material for my readers. There is a lot more brewing! Early this year, I began re-recording the Information Visualization course, but I was unable to finalize it. Luckily, there is very little additional work to do, so I will use the summer to finalize it and make it available.</p></li><li><p><strong>Video podcasts.</strong> I&#8217;d like to make the podcasts more frequent. My idea is to create thematic podcasts to cover a whole topic in depth. I started with AI, and I&#8217;d like to finalize it before moving on to something else.</p></li><li><p><strong>Post series.</strong> I have lost traction on my series. I should definitely get back to producing series and then use them to build more permanent material. I was not able to finalize the one on Vis for ML because there is way too much new material to review. The good news is that in the fall, I will teach a seminar course at Northeastern University on Visualization and GenAI, and I am sure this will enable me to write more posts for the series.</p></li></ul><h2>And you?</h2><p>I hope you are having a great summer! There are many news readers here. If you'd like to introduce yourself and share your interests, I&#8217;d be delighted to learn more about you. Feel free to send me a message with specific comments or requests.</p><div class="directMessage button" data-attrs="{&quot;userId&quot;:5453110,&quot;userName&quot;:&quot;Enrico Bertini&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div><p>Thanks for reading! &#128591;<br>Enrico.</p>]]></content:encoded></item></channel></rss>