Observable Plot Starter
An Observable Plot starter demonstrates how to build an arrow variation chart, tracking changes in population and income inequality across U.S. metropolitan areas from 1980 to 2015. The `@observablehq/plot` library renders logarithmic x-axes, a color legend, and curved arrows whose stroke color encodes inequality shifts. It loads CSV data with `metros.csv`, converts strings to numbers, and dynamically sizes the plot to the container via `container.clientWidth` and `container.clientHeight`. The code includes hot-reloading support by replacing the container's first child on each run.
AI-generated descriptionUnlocking Observable Plot with VizHub's hot reloading patterns!
<video autoplay="" loop="" muted="" width="100%"> <source src="https://vizhub-images.s3.amazonaws.com/hot-plot.mp4" type="video/mp4" /> </video>This example was ported from Observable: Arrow variation chart.
A few modifications were made to make it work outside of Observable:
- In
styles.csswe set the margin of<figure>to 0, because without doing that the user agent stylesheet sets some strange margins. - The margins are specified for the plot, and the
insetwas removed. - The margins are specified for the legend, otherwise the legend is flush to the upper left corner.
- The
widthandheightare set based on the measured container, so it should be possible to change the size of the container and have the chart update properly.
Thanks to Stefan Apostol for the original HTML port (which this is forked from) and the inspiration to make this happen!