I investigated how Nate Silver's Substack incorporates complex tables and charts. Initially, I thought he had a special arrangement with Substack, but I discovered that anyone can do the same using Datawrapper. The tool is useful for both Substack and self-hosted blogs/websites, being free and highly customizable. Here's the process:
Go to Datawrapper's Chart/Table creation page.
Paste or upload your data.
Select a presentation format, ranging from classic raw data tables to various chart types. There are numerous customization options, such as hiding specific columns on mobile devices.
Register an account (if you haven't already) and click Publish. You'll receive a link like datawrapper.dwcdn.net/fk22i/1/.
Copy-paste this link into your Substack post (or embed the HTML for self-hosted blogs) to display your table or chart.
Note: You'll need to republish and update the link in your post whenever you make changes to your Datawrapper content.
Here are a couple of tables I’ve generated. The first one shows the progress of iPhone’s improvements over the years. Some interesting facts:
The first iPhone is 97x less powerful than the iPhone 16. It’s now been 17 years since the first iPhone came out, which means CPU performance has been doubling every 30 months on average, only slightly worse than Moore’s law predicting a doubling every 24 months.
iPhone 3G had the exact same CPU as the first iPhone, but then 3GS improved performance by 100% over a single upgrade cycle.
iPhone 16 and the 16 Pro have the same CPU, making this the first time that the Pro and regular iPhone have converged in performance.
The frequency of "worthwhile" upgrades (defined as 2x CPU performance improvement) has been decreasing, supporting the common wisdom that yearly upgrades are no longer worth it.
And here’s the table for the ‘Pro’ series iPhones:
It’s weird that Substack has been so ‘quiet’ about the Datawrapper integration despite releasing it back in May 2023: it’s not visible in the Substack writers menu and there’s no ‘How do I insert a table?’ page on their support website. It’s an awesome tool and probably the best embeddable table/chart solution that I’ve seen.