<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>d3 Archives - Pietari Heino&#039;s personal website</title>
	<atom:link href="https://www.extreg.com/blog/tag/d3/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.extreg.com/blog/tag/d3/</link>
	<description></description>
	<lastBuildDate>Sun, 08 Apr 2018 10:38:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.5</generator>
<site xmlns="com-wordpress:feed-additions:1">99365322</site>	<item>
		<title>Using D3 and Puppeteer to generate visualizations</title>
		<link>https://www.extreg.com/blog/2018/04/using-d3-and-puppeteer-to-generate-visualizations/</link>
					<comments>https://www.extreg.com/blog/2018/04/using-d3-and-puppeteer-to-generate-visualizations/#comments</comments>
		
		<dc:creator><![CDATA[Pietari]]></dc:creator>
		<pubDate>Sun, 08 Apr 2018 10:37:19 +0000</pubDate>
				<category><![CDATA[random]]></category>
		<category><![CDATA[d3]]></category>
		<category><![CDATA[puppeteer]]></category>
		<category><![CDATA[springer]]></category>
		<category><![CDATA[visualization]]></category>
		<guid isPermaLink="false">https://www.extreg.com/?p=310</guid>

					<description><![CDATA[<p>While working on a book chapter called Criterion-based grading, agile goals, and course (un)completion strategies (with Ihantola, Isohanni &#38; Mikkonen) for a new Springer book that concentrates on agile learning strategies etc. we needed to generate lots of visualizations. The visualizations were supposed to show the completion paths of different students for the first programming course at ... <span class="more"><a class="more-link" href="https://www.extreg.com/blog/2018/04/using-d3-and-puppeteer-to-generate-visualizations/">[Read more...]</a></span></p>
<p>The post <a rel="nofollow" href="https://www.extreg.com/blog/2018/04/using-d3-and-puppeteer-to-generate-visualizations/">Using D3 and Puppeteer to generate visualizations</a> appeared first on <a rel="nofollow" href="https://www.extreg.com">Pietari Heino&#039;s personal website</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="attachment_311" style="width: 970px" class="wp-caption alignright"><img aria-describedby="caption-attachment-311" class="size-full wp-image-311" src="https://www.extreg.com/wp-content/uploads/2018/04/d3_vis.png" alt="" width="960" height="540" srcset="https://www.extreg.com/wp-content/uploads/2018/04/d3_vis.png 960w, https://www.extreg.com/wp-content/uploads/2018/04/d3_vis-300x169.png 300w, https://www.extreg.com/wp-content/uploads/2018/04/d3_vis-768x432.png 768w" sizes="(max-width: 960px) 100vw, 960px" /><p id="caption-attachment-311" class="wp-caption-text">Criterion-based grading, agile goals, and course (un)completion strategies: a visualization of a student&#8217;s learning path on TUT Programming 1 course. The Y-axis shows different automatically assessed programming tasks and the X-axisshows the rounds of the course (mapping to weeks on a semester). Colored balls are completed (the student&#8217;s solution passed the tests). Different colors represent different categories/levels of the tasks.</p></div>
<p>While working on a book chapter called <em>Criterion-based grading, agile goals, and course (un)completion strategies </em>(with Ihantola, Isohanni &amp; Mikkonen) for a new Springer book that concentrates on agile learning strategies etc. we needed to generate lots of visualizations. The visualizations were supposed to show the completion paths of different students for the first programming course at Tampere University of Technology.</p>
<p>I took on the task and chose Python for scripting to digest all the data and transform it to a suitable format, D3.js for generating the actual visualizations, and Puppeteer to handle the generation and PNG saving of ~1000 visualizations.</p>
<p>The visualizations turned out pretty nice and the workflow was good. After nailing down the Python data digestion and what we even wanted from it, I played a ton with D3 and came up with a nice looking visualization. After we all agreed on how the thing should look like I used a simple Puppeteer script to turn everything into a nice directory hierarchy of lots of PNGs. I was happy that each of the steps were self-contained and didn&#8217;t depend on any of the other steps. My initial data was in CSV format and I used Python to go through it and dig out the needed bits and pieces. I made a simple visualization.html that contained all HTML, CSS, and JavaScript to display a single visualization, nothing more. I ran Python&#8217;s SimpleHTTPServer to serve the page on my localhost and to play with it until it looked nice. In the end I had a very simple Node.JS script that started Puppeteer which uses Headless Chrome browser in the background to do all sorts of webpage manipulation; Puppeteer went over every student&#8217;s data and loaded the visualization.html for all of them and turned to page into a PNG file.</p>
<p>I could have gone for all Python solution but I hadn&#8217;t had any reason to use Puppeteer before so this was a nice thing to tryout. Also, I had some experience from D3.js so it was much easier to come up with the visualization code using the library and the web instead of some Python plotting library or whatnot. We were happy with the results.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://www.extreg.com/blog/2018/04/using-d3-and-puppeteer-to-generate-visualizations/">Using D3 and Puppeteer to generate visualizations</a> appeared first on <a rel="nofollow" href="https://www.extreg.com">Pietari Heino&#039;s personal website</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.extreg.com/blog/2018/04/using-d3-and-puppeteer-to-generate-visualizations/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">310</post-id>	</item>
	</channel>
</rss>
