OK, well, I don't know where to get a basemap like that. You'll have to do your own googling, I'm afraid. But if you can find it, then I think we should be able to make it work with GeoChart.
However, I can think of a workaround.
First of all, do you want to have the zoom-in ability at all for this map? If you don't need that, then Geochart won't give you any added value. So you can skip that entirely.
Instead, make a picture like above, with all the states drawn. A simple PNG will do, although an SVG would scale better, at the expense of some browser compatibility. Either way, that shouldn't be hard to accomplish.
After that, you put that picture in the page, and then figure out the locations of all the charts. Since the map isn't changing, you can calculate them once and then hardcode these coordinates. You can even simply assign them by hand with trial and error. For 50-odd locations, that won't take so long.
After that, well, just make piecharts at those hardcoded coordinates.
If you choose to use GeoChart after all, then the approach is different. You'll need to put together these pieces:
- Get a basemap provider and a plugin for Leaflet that handles it. Sorry, I can't help you there. Configure Geochart to use it and set boundaries so that Geochart doesn't go outside your map.
- Figure out the geographical coordinates for the "center" of each state. Those will be the centers of the piecharts. Again, you can do this by hand, or try to do some geometrical calculations. Blind geometry doesn't always work well, so a few small adjustments by hand might still be needed. Anyways, in the end, you'll get a list of state ID's and a corresponding X;Y coordinate for each.
- Convert these coordinates into nodes. No links needed, just nodes. Add a node layer that shows them. Now, by default these nodes will show up as circles, but you can style them to be completely transparent.
- Add a charts-on-charts layer for PieCharts. The CoC layer has two important pieces of configuration - first, it will reference the nodes layer to figure out where to place the PieCharts (each node gets a PieChart). Second, you'll need to write a "configuration function" that takes a node as a parameter and spits out the configuration for a PieChart. This function will be called whenever a PieChart needs to be created (these PieCharts will be created and destroyed often, as the user zooms in and pans around, and the visible area changes).
And there you have it. A GeoChart charts-on-charts solution for your problem.
Variation for the Charts-on-charts
Instead of the nodes layer, you can also use a shapes layer. A PieChart will be placed in the middle of each shape (which can sometimes be suboptimal). That's what the PieChart on Geochart demo is doing, actually.
Then you might not even need a basemap, although zooming in would not be very interesting. I'm not sure how to configure Leaflet to be blank, but it shouldn't be difficult, I think. Perhaps there's a plugin for that, or maybe a built in way (null URL?).
Last but not least, you'd need to change the coordinates of Alaska/Hawai to appear beneath the rest of the US.