<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: How to make heat maps in Flex</title>
	<atom:link href="http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/</link>
	<description>Data Visualization on the Flash Platform</description>
	<lastBuildDate>Fri, 05 Feb 2010 20:25:04 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jon</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-4578</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Sun, 20 Dec 2009 15:56:51 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-4578</guid>
		<description>Thanks Michael for this great work!  I&#039;ve created a simple tool to draw the gradient by hand, and use your process to create the gradient array...

http://isokon.net/post/gradientArray/accessColorInGradient.fla</description>
		<content:encoded><![CDATA[<p>Thanks Michael for this great work!  I&#8217;ve created a simple tool to draw the gradient by hand, and use your process to create the gradient array&#8230;</p>
<p><a href="http://isokon.net/post/gradientArray/accessColorInGradient.fla" rel="nofollow">http://isokon.net/post/gradientArray/accessColorInGradient.fla</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shawn</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-3593</link>
		<dc:creator>Shawn</dc:creator>
		<pubDate>Tue, 03 Nov 2009 16:25:04 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-3593</guid>
		<description>It would be interesting to extract that technique into a class that could generate random gradients, or better yet, take the algorithm and allow the user to define their own.

Again, thanks Michael!</description>
		<content:encoded><![CDATA[<p>It would be interesting to extract that technique into a class that could generate random gradients, or better yet, take the algorithm and allow the user to define their own.</p>
<p>Again, thanks Michael!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-875</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Sun, 26 Apr 2009 14:35:22 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-875</guid>
		<description>Shawn: This is something that a few people have asked about, so I should probably write up a post about exactly how it works.  Basically, the HeatMap needs 255 exactly colors, so it just felt more natural to pre-generate the array than calculate them on the fly.  To create the arrays, I built a few linear gradients, drew them to a BitmapData that was 255 pixels wide, and extracted the color at each pixel.</description>
		<content:encoded><![CDATA[<p>Shawn: This is something that a few people have asked about, so I should probably write up a post about exactly how it works.  Basically, the HeatMap needs 255 exactly colors, so it just felt more natural to pre-generate the array than calculate them on the fly.  To create the arrays, I built a few linear gradients, drew them to a BitmapData that was 255 pixels wide, and extracted the color at each pixel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shawn Yale</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-752</link>
		<dc:creator>Shawn Yale</dc:creator>
		<pubDate>Wed, 22 Apr 2009 16:32:52 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-752</guid>
		<description>Thank you for sharing the source.  Your implementation is amazing.  I noticed some performance degradation with larger canvases, but thats to be expected with the amount of points being drawn.  I am curious as to the format used for the Gradient dictionary arrays.  I&#039;ve never seen colors mapped that way before.  How did you come up with those values?  Fireworks? Photoshop?  Thanks and keep up the great work.</description>
		<content:encoded><![CDATA[<p>Thank you for sharing the source.  Your implementation is amazing.  I noticed some performance degradation with larger canvases, but thats to be expected with the amount of points being drawn.  I am curious as to the format used for the Gradient dictionary arrays.  I&#8217;ve never seen colors mapped that way before.  How did you come up with those values?  Fireworks? Photoshop?  Thanks and keep up the great work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Gourneau</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-619</link>
		<dc:creator>Joshua Gourneau</dc:creator>
		<pubDate>Fri, 17 Apr 2009 13:56:41 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-619</guid>
		<description>This is wonderful, thanks for posting the source!  I might try to use this to do some realtime data viz.  

Thanks</description>
		<content:encoded><![CDATA[<p>This is wonderful, thanks for posting the source!  I might try to use this to do some realtime data viz.  </p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Trygve</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-8</link>
		<dc:creator>Trygve</dc:creator>
		<pubDate>Sat, 09 Aug 2008 06:14:54 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-8</guid>
		<description>I found my error.  In the updateDisplayList() method, the following line [graphics.drawRect(0,0,width,height);] always contained zeros for height and width so the drawHeatMap() never made it through your first if statement.  I had to hardcode the width and height for some reason.  I tried stage.height &amp; stage.width but that didn&#039;t work but I can figure that out later.

However, I have a new question for you :-).  I&#039;m afraid I may not be able to use this example after all.  Is there a way to allow this heat map to be semi-transparent over an image.  I&#039;m assuming that I need to start with the underlying image as part of the bitmap before I start the processing of the points...?  Am I heading in the right direction?  I feel like a kid swinging blindly at a piñata.

Again, thanks for any help you may provide.  I promise I&#039;ll stop spamming your blog soon.</description>
		<content:encoded><![CDATA[<p>I found my error.  In the updateDisplayList() method, the following line [graphics.drawRect(0,0,width,height);] always contained zeros for height and width so the drawHeatMap() never made it through your first if statement.  I had to hardcode the width and height for some reason.  I tried stage.height &amp; stage.width but that didn&#8217;t work but I can figure that out later.</p>
<p>However, I have a new question for you <img src='http://michaelvandaniker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .  I&#8217;m afraid I may not be able to use this example after all.  Is there a way to allow this heat map to be semi-transparent over an image.  I&#8217;m assuming that I need to start with the underlying image as part of the bitmap before I start the processing of the points&#8230;?  Am I heading in the right direction?  I feel like a kid swinging blindly at a piñata.</p>
<p>Again, thanks for any help you may provide.  I promise I&#8217;ll stop spamming your blog soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Trygve</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-7</link>
		<dc:creator>Trygve</dc:creator>
		<pubDate>Sat, 09 Aug 2008 00:55:53 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-7</guid>
		<description>Thank you so much for responding!  

I hope I&#039;m not bothering you with too many questions but I&#039;m new to AS3 (although I have a strong programming background in Java and .NET).  Can you help me understand how to render the heatBitmapData to the stage?  I noticed the overloaded methods [commitProperties()] and [updateDisplayList()] however I&#039;m assuming those are part of the UIComponent class. (I just removed the override).

I added a few lines to the constructor of HeatMap to create some points in my array and replaced the _dataProvider with this points array in commitProperties().  Then I simply tried to call the commitProperties() and then the updateDisplayList() which in turn calls the drawHeatMap() method.

The fla compiles fine but I don&#039;t think I&#039;m adding anything to the stage (just a blank white stage when I debug).  I thought I would need an addChild(...?) to add it to the display list.  I only want to run through the points and display the map once (meaning I don&#039;t need to do it to loop on an enter frame event).

I hope I&#039;m doing a good enough job explaining myself.  I could provide the source changes I made if that would help you understand my question.  I know how difficult and time consuming it can be to try to help every person who may contact you so I understand if you&#039;re unable to assist me.

Any help you can provide will be greatly appreciated.  Thanks.</description>
		<content:encoded><![CDATA[<p>Thank you so much for responding!  </p>
<p>I hope I&#8217;m not bothering you with too many questions but I&#8217;m new to AS3 (although I have a strong programming background in Java and .NET).  Can you help me understand how to render the heatBitmapData to the stage?  I noticed the overloaded methods [commitProperties()] and [updateDisplayList()] however I&#8217;m assuming those are part of the UIComponent class. (I just removed the override).</p>
<p>I added a few lines to the constructor of HeatMap to create some points in my array and replaced the _dataProvider with this points array in commitProperties().  Then I simply tried to call the commitProperties() and then the updateDisplayList() which in turn calls the drawHeatMap() method.</p>
<p>The fla compiles fine but I don&#8217;t think I&#8217;m adding anything to the stage (just a blank white stage when I debug).  I thought I would need an addChild(&#8230;?) to add it to the display list.  I only want to run through the points and display the map once (meaning I don&#8217;t need to do it to loop on an enter frame event).</p>
<p>I hope I&#8217;m doing a good enough job explaining myself.  I could provide the source changes I made if that would help you understand my question.  I know how difficult and time consuming it can be to try to help every person who may contact you so I understand if you&#8217;re unable to assist me.</p>
<p>Any help you can provide will be greatly appreciated.  Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-6</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Fri, 08 Aug 2008 12:36:47 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-6</guid>
		<description>Trygve:  The core of HeatMap is the drawHeatMap method, and that should be easy to replicate in AS3 without using the Flex framework classes.  HeatMap could extend Sprite instead of UIComponent and dataProvider could be an Array instead of an ArrayCollection.  You&#039;ll lose the IInvalidating methods, but you can redraw the heat map onEnterFrame instead.  If you&#039;re not coding in AS at all, you&#039;ll just need to replicate drawHeatMap using your language&#039;s bitmap utilities.</description>
		<content:encoded><![CDATA[<p>Trygve:  The core of HeatMap is the drawHeatMap method, and that should be easy to replicate in AS3 without using the Flex framework classes.  HeatMap could extend Sprite instead of UIComponent and dataProvider could be an Array instead of an ArrayCollection.  You&#8217;ll lose the IInvalidating methods, but you can redraw the heat map onEnterFrame instead.  If you&#8217;re not coding in AS at all, you&#8217;ll just need to replicate drawHeatMap using your language&#8217;s bitmap utilities.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Trygve</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-5</link>
		<dc:creator>Trygve</dc:creator>
		<pubDate>Thu, 07 Aug 2008 20:54:53 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-5</guid>
		<description>Michael, this work is amazing.  How hard would it be for me to rewrite it without Flex?  I don&#039;t think I have time to learn Flex before my next project.  I saw that the HeatMap class extends what looks like a Flex object.  If you have a second please let me know your thoughts.</description>
		<content:encoded><![CDATA[<p>Michael, this work is amazing.  How hard would it be for me to rewrite it without Flex?  I don&#8217;t think I have time to learn Flex before my next project.  I saw that the HeatMap class extends what looks like a Flex object.  If you have a second please let me know your thoughts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Cook</title>
		<link>http://michaelvandaniker.com/blog/2008/07/06/how-to-make-heat-maps-in-flex/comment-page-1/#comment-4</link>
		<dc:creator>Colin Cook</dc:creator>
		<pubDate>Sat, 19 Jul 2008 00:22:39 +0000</pubDate>
		<guid isPermaLink="false">http://michaelvandaniker.com/blog/?p=4#comment-4</guid>
		<description>Michael-- this is very cool...I have an application I am building that this would work well for.  Are you interested in doing some contract work?


Colin Cook</description>
		<content:encoded><![CDATA[<p>Michael&#8211; this is very cool&#8230;I have an application I am building that this would work well for.  Are you interested in doing some contract work?</p>
<p>Colin Cook</p>
]]></content:encoded>
	</item>
</channel>
</rss>
