<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>D3 on alexchirkin.me</title>
		<link>https://alexchirkin.me/tags/d3/</link>
		<description>Recent content in D3 on alexchirkin.me</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
			<copyright>&lt;a href=&#34;https://creativecommons.org/licenses/by-nc/4.0/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CC BY-NC 4.0&lt;/a&gt;</copyright>
		
		
			<lastBuildDate>Sun, 23 Oct 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://alexchirkin.me/tags/d3/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>State in D3 chart lifecycle</title>
				<link>https://alexchirkin.me/blog/chart-lifecycle/</link>
				<pubDate>Sun, 23 Oct 2022 00:00:00 +0000</pubDate>
				<guid>https://alexchirkin.me/blog/chart-lifecycle/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://alexchirkin.me/covers/state-lifecycle.png&#34; alt=&#34;D3 chart lifecycle&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Integration of D3 data visualizations into front-end applications can be a tricky task, when a plot lifecycle is controlled by the application,&#xA;sometimes it may be unclear how to properly connect the plot and the application.&#xA;In this article, I describe some ways to update plots with saving their internal state.&lt;/p&gt;&#xA;&lt;h2 id=&#34;plot-internal-state&#34;&gt;Plot internal state&lt;/h2&gt;&#xA;&lt;p&gt;When creating a D3 plot to visualize some data it frequently happens that to improve user experience some interactivity should be added. And with interactivity usually comes state and with that, the complexity of the plot lifecycle can increase rapidly. Many different things can be stored in the plot state, like scrolling position, selected elements, zoom value, etc.&#xA;Basically, that can be any effect of possible user input not directly related to data changes.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
