<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.componentart.com/community/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Bojan Jovanovic</title><subtitle type="html">... and the program ran happily ever after.</subtitle><id>http://www.componentart.com/community/blogs/bojan/atom.aspx</id><link rel="alternate" type="text/html" href="http://www.componentart.com/community/blogs/bojan/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www.componentart.com/community/blogs/bojan/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.40407.4157">Community Server</generator><updated>2008-07-14T12:17:00Z</updated><entry><title>Silverlight Chart: Overview of Chart Types</title><link rel="alternate" type="text/html" href="/community/blogs/bojan/archive/2009/12/15/silverlight-chart-overview-of-chart-types.aspx" /><id>/community/blogs/bojan/archive/2009/12/15/silverlight-chart-overview-of-chart-types.aspx</id><published>2009-12-15T14:27:00Z</published><updated>2009-12-15T14:27:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This blog post lists all the chart types that Silverlight Chart
supports. They are divided into several sections: bar charts, pie and
doughnut charts, area charts, line charts, marker and bubble charts and
financial charts. Next to each chart type illustration we provide the
XAML code block that generated it.&lt;/p&gt;
&lt;h3&gt;Bar Charts&lt;/h3&gt;
&lt;p&gt;The following bar chart types are included: Rectangle, Block, RoundedBlock and Cylinder.&lt;/p&gt;
&lt;p&gt;
&lt;table border="1" cellpadding="3"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Code&lt;/td&gt;
&lt;td&gt;Illustration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Rectangle&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/2548.Chart_5F00_ChartTypes_5F00_Bar1.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Block&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/2541.Chart_5F00_ChartTypes_5F00_Bar2.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;RoundedBlock&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/8715.Chart_5F00_ChartTypes_5F00_Bar3.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Cylinder&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/2134.Chart_5F00_ChartTypes_5F00_Bar4.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Pie/Doughnut Charts &lt;/h3&gt;
&lt;p&gt;The following pie/doughnut chart types are included: 2D pie, 3D pie, 2D doughnut and 3D doughnut. &lt;/p&gt;
&lt;p&gt;
&lt;table style="border-color:#000000;border-width:1px;" border="1" cellpadding="3"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Code&lt;/td&gt;
&lt;td&gt;Illustrations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Pie2D&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/1563.Chart_5F00_ChartTypes_5F00_Pie1.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Pie&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/6747.Chart_5F00_ChartTypes_5F00_Pie2.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Doughnut2D&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/1070.Chart_5F00_ChartTypes_5F00_Doughnut1.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Doughnut&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/4201.Chart_5F00_ChartTypes_5F00_Doughnut2.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;
&lt;p&gt; Area Charts &lt;/p&gt;
&lt;/h3&gt;
&lt;p&gt;The following area chart types are included: area chart with a
polygonal edge (2D and 3D), area chart with a smooth edge (2D and 3D)
and an area chart with a step edge (2D and 3D).&lt;/p&gt;
&lt;p&gt;
&lt;table style="border-color:#000000;border-width:1px;" border="1" cellpadding="3"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Code&lt;/td&gt;
&lt;td&gt;Illustration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Area2D&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Polygon&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/4201.Chart_5F00_ChartTypes_5F00_2DArea1.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Area2D&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Smooth&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/5287.Chart_5F00_ChartTypes_5F00_Area2.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Area2D&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Step&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/7750.Chart_5F00_ChartTypes_5F00_2DArea3.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Area&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Polygon&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/1563.Chart_5F00_ChartTypes_5F00_Area1.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Area&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Smooth&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/4606.Chart_5F00_ChartTypes_5F00_Area2.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Area&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Step&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/2553.Chart_5F00_ChartTypes_5F00_Area3.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Line Charts&lt;/h3&gt;
&lt;p&gt;The following line chart types are included: line chart with a
polygonal edge (2D and 3D), line chart with a smooth edge (2D and 3D)
and a line chart with a step edge (2D and 3D).&lt;/p&gt;
&lt;p&gt;
&lt;table style="border-color:#000000;border-width:1px;" border="1" cellpadding="3"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Code&lt;/td&gt;
&lt;td&gt;Illustration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Line&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Polygon&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/2553.Chart_5F00_ChartTypes_5F00_Line1.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Line&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Smooth&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/7762.Chart_5F00_ChartTypes_5F00_Line2.PNG" border="0" alt="" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Line&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LineKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Step&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/8838.Chart_5F00_ChartTypes_5F00_Line3.PNG" border="0" alt="" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Marker/Bubble Charts&lt;/h3&gt;
&lt;p&gt;The following marker styles are included: &lt;i&gt;Circle, CircleSimple, Square, SquareSimple, Triange, TriangleSimple, Diamond, DiamondSimple, Plus, PlusSimple, Cross&lt;/i&gt; and &lt;i&gt;CrossSimple&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;The same marker styles can be used for bubble charts as well. &lt;/p&gt;
&lt;p&gt;
&lt;table style="border-color:#000000;border-width:2px;" border="2" cellpadding="3"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Code&lt;/td&gt;
&lt;td&gt;Illustration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Marker&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;MarkerStyle&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Circle&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/4137.Chart_5F00_ChartTypes_5F00_Marker.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Bubble&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;YValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ZValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Z&amp;quot;&lt;/span&gt; &lt;br /&gt;            &lt;span style="color:#FF0000;"&gt;MarkerStyle&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Circle&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/4137.Chart_5F00_ChartTypes_5F00_Bubble.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Financial Charts &lt;/h3&gt;
&lt;p&gt;Two kinds of financial charts are supported: Open-High-Low-Close and candlestick. &lt;/p&gt;
&lt;p&gt;
&lt;table style="border-color:#000000;border-width:1px;" border="1" cellpadding="3"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Code&lt;/td&gt;
&lt;td&gt;Illustration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;OpenHighLowClose&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;OpenValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Open&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;CloseValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Close&amp;quot;&lt;/span&gt; &lt;br /&gt;            &lt;span style="color:#FF0000;"&gt;HighValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;High&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LowValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Low&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/1805.Chart_5F00_ChartTypes_5F00_Financial1.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;ChartKind&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Candlestick&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color:#FF0000;"&gt;XValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;DataSource&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;{StaticResource DataValues}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;OpenValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Open&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;CloseValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Close&amp;quot;&lt;/span&gt; &lt;br /&gt;            &lt;span style="color:#FF0000;"&gt;HighValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;High&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;LowValue&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Low&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;CA&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/5618.Chart_5F00_ChartTypes_5F00_Financial2.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The following data was used to generate the illustrations: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValueCollection&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;x&lt;/span&gt;:&lt;span style="color:#FF0000;"&gt;Key&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;DataValues&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;A&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;90&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;13&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;90&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;135&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;85&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;B&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;70&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;5&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;115&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;145&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;145&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;115&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;23&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;156&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;150&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;167&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;145&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;D&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;135&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;14&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;135&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;123&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;145&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;E&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;100&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;11&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;110&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;160&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;170&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;110&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;F&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;80&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;18&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;165&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;175&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;G&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;135&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;6&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;90&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;125&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;90&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;H&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;150&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;20&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;85&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;110&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;115&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;80&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;I&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;12&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;110&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;135&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;165&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;95&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;J&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;17&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;135&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;156&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;160&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;K&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;145&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;11&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;150&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;150&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;100&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValue&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;X&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;L&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Y&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;110&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Z&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;14&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Open&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Close&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;110&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;High&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;120&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Low&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;100&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;DataValueCollection&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;DataValue and DataValueCollection were defined as follows:

&lt;/p&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;class&lt;/span&gt; DataValue&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; X { &lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;; }&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;double&lt;/span&gt; Y { &lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;; }&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;double&lt;/span&gt; Z { &lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;; }&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;double&lt;/span&gt; Open { &lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;; }&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;double&lt;/span&gt; Close { &lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;; }&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;double&lt;/span&gt; High { &lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;; }&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;double&lt;/span&gt; Low { &lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;class&lt;/span&gt; DataValueCollection : Collection { }&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.componentart.com/community/aggbug.aspx?PostID=96961" width="1" height="1"&gt;</content><author><name>BJovanovic</name><uri>http://www.componentart.com/community/members/BJovanovic/default.aspx</uri></author></entry><entry><title>Silverlight Chart Drilldown, Part Two: Adding a BreadCrumb Control</title><link rel="alternate" type="text/html" href="/community/blogs/bojan/archive/2009/12/02/silverlight-chart-drilldown-part-two-adding-a-breadcrumb-control.aspx" /><id>/community/blogs/bojan/archive/2009/12/02/silverlight-chart-drilldown-part-two-adding-a-breadcrumb-control.aspx</id><published>2009-12-03T06:02:00Z</published><updated>2009-12-03T06:02:00Z</updated><content type="html">&lt;p&gt;In my previous blog post, &lt;a href="http://www.componentart.com/community/blogs/bojan/archive/2009/11/11/chart-drilldown-part-one.aspx"&gt;Silverlight Chart Drilldown: Part One&lt;/a&gt;, I described the steps necessary to create a drill-down chart using ComponentArt&amp;#39;s Silverlight &lt;i&gt;Chart&lt;/i&gt;. To navigate backwards to higher levels of drill-down we used a simple button that would take us back one level at a time. In this blog post I will explain how to use ComponentArt&amp;#39;s &lt;i&gt;BreadCrumb &lt;/i&gt;control to be able to navigate better during drill-down. A &lt;i&gt;BreadCrumb &lt;/i&gt;control will allow us to go back multiple drill levels at a time as well as provide us with a visual representation of the current drill level.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/6102.SilverlightChartDrilldownPart2.PNG" border="0" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;First, we need to add a reference to our project to the navigation assembly which contains the &lt;i&gt;BreadCrumb &lt;/i&gt;control. Also, we need to add a reference to the &lt;i&gt;Navigation &lt;/i&gt;namespace to our CS and XAML files.&lt;/p&gt;
&lt;pre class="codeblock"&gt;xmlns:Navigation=&amp;quot;clr-namespace:ComponentArt.Silverlight.UI.Navigation;assembly=ComponentArt.Silverlight.UI.Navigation&amp;quot;&lt;/pre&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; ComponentArt.Silverlight.UI.Navigation;&lt;/pre&gt;
&lt;p&gt;In the XAML code for our user control we will replace the Back &lt;i&gt;Button &lt;/i&gt;with a &lt;i&gt;BreadCrumb &lt;/i&gt;control that is the same width as our chart.&lt;/p&gt;
&lt;pre class="codeblock"&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;Navigation&lt;/span&gt;:&lt;span style="color:#800000;"&gt;BreadCrumb&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;x&lt;/span&gt;:&lt;span style="color:#FF0000;"&gt;Name&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;ChartBreadCrumb&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;HideSplitButton&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;True&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;400&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;26&amp;quot;&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;At load time, we will create the whole BreadCrumb structure. Each possible chart in our drill-down sequence will have a corresponding &lt;i&gt;BreadCrumbItem&lt;/i&gt;. First, we will start with the &lt;i&gt;BreadCrumbItem &lt;/i&gt;representing the top most chart. To its &lt;i&gt;Items &lt;/i&gt;collection we will add BreadCrumbItems representing all the charts that can be obtained by drilling once into the top level chart. This process will continue in a similar fashion until we have created all possible BreadCrumbItems.&lt;/p&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; MainPage_Loaded(&lt;span style="color:#0000FF;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;&lt;/span&gt;drillDownManager.SetupBreadCrumbs(ChartBreadCrumb);&lt;br /&gt;}&lt;/pre&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; SetupBreadCrumbs(BreadCrumb breadCrumb)&lt;br /&gt;{&lt;br /&gt;    chartBreadCrumb = breadCrumb;&lt;br /&gt;&lt;br /&gt;    BreadCrumbItem topBC = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; BreadCrumbItem() { Text = &amp;quot;&lt;span style="color:#8B0000;"&gt;1990&amp;#39;s&lt;/span&gt;&amp;quot; };&lt;br /&gt;    topBC.Tag = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; BreadCrumbTag(0, &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(1991,1,1), &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(2001,1,1));&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; year = 1991; year &amp;lt; 2001; year++)&lt;br /&gt;    {&lt;br /&gt;        BreadCrumbItem yearBC = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; BreadCrumbItem() { Text = &amp;quot;&lt;span style="color:#8B0000;"&gt;Year: &lt;/span&gt;&amp;quot; + year };&lt;br /&gt;        yearBC.Tag = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; BreadCrumbTag(1, &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(year, 1, 1), &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(year, 1, 1).AddYears(1));&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; month = 1; month &amp;lt;= 12; month++)&lt;br /&gt;        {&lt;br /&gt;            BreadCrumbItem monthBC = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; BreadCrumbItem() { Text = &amp;quot;&lt;span style="color:#8B0000;"&gt;Month: &lt;/span&gt;&amp;quot; + (&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(year, month, 1)).ToString(&amp;quot;&lt;span style="color:#8B0000;"&gt;MMM&lt;/span&gt;&amp;quot;)};&lt;br /&gt;            monthBC.Tag = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; BreadCrumbTag(2, &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(year, month, 1), &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(year, month, 1).AddMonths(1));&lt;br /&gt;            yearBC.Items.Add(monthBC);&lt;br /&gt;        }&lt;br /&gt;        topBC.Items.Add(yearBC);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    chartBreadCrumb.RootItem.Items.Add(topBC);&lt;br /&gt;    chartBreadCrumb.RefreshTree();&lt;br /&gt;    chartBreadCrumb.SelectedItem = topBC;&lt;br /&gt;    chartBreadCrumb.BreadCrumbClick += &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; BreadCrumb.BreadCrumbClickEventHandler(ChartBreadCrumb_BreadCrumbClick);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Notice that to each &lt;i&gt;BreadCrumbItem &lt;/i&gt;I have assigned a Tag that will keep track of the drill level that corresponds to the &lt;i&gt;BreadCrumbItem &lt;/i&gt;and the start of the x-range for the corresponding chart which will allow us to find the right &lt;i&gt;BreadCrubItem &lt;/i&gt;during drill-down.&lt;/p&gt;
&lt;p&gt;There are two more items that need to be taken care of. First, we need to initiate a back action when a &lt;i&gt;BreadCrumbItem &lt;/i&gt;is clicked (clicking on the item that corresponds to the current chart does nothing). Depending on the drill level we might need to execute a multiple back action.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; ChartBreadCrumb_BreadCrumbClick(&lt;span style="color:#0000FF;"&gt;object&lt;/span&gt; sender, BreadCrumbCommandEventArgs bcce)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; newDrillLevel = (bcce.ItemSource.Tag &lt;span style="color:#0000FF;"&gt;as&lt;/span&gt; BreadCrumbTag).DrillLevel;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (drillLevel != newDrillLevel)&lt;br /&gt;        Back(drillLevel - newDrillLevel);&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;
Second, we need to select a new &lt;i&gt;BreadCrumbItem &lt;/i&gt;after a drill-down action was performed. This will be done in the &lt;i&gt;DrillStepCompleted &lt;/i&gt;event handler.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="codeblock"&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; SalesDrillDownManager_DrillStepCompleted(&lt;span style="color:#0000FF;"&gt;object&lt;/span&gt; sender, DrillDownEventArgs e)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (chartBreadCrumb != &lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt; (BreadCrumbItem bItem &lt;span style="color:#0000FF;"&gt;in&lt;/span&gt; chartBreadCrumb.SelectedItem.Items)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; ((DateTime)((Series)CurrentChart.DataSeries[0]).DataPoints[0].X == (bItem.Tag &lt;span style="color:#0000FF;"&gt;as&lt;/span&gt; BreadCrumbTag).RangeStart)&lt;br /&gt;            {&lt;br /&gt;                chartBreadCrumb.SelectedItem = bItem;&lt;br /&gt;                &lt;span style="color:#0000FF;"&gt;break&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;       &amp;nbsp;}&lt;br /&gt;    }&lt;/pre&gt;
&lt;p&gt;Now we have a fully functional &lt;i&gt;BreadCrumb &lt;/i&gt;control that compliments our drilldown chart and gives us a more powerful navigation interface.&lt;/p&gt;
&lt;p&gt;The code discussed in this blog can be found &lt;a href="http://www.componentart.com/community/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/8420.DrillDownBlog2.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.componentart.com/community/aggbug.aspx?PostID=96609" width="1" height="1"&gt;</content><author><name>BJovanovic</name><uri>http://www.componentart.com/community/members/BJovanovic/default.aspx</uri></author><category term="DrillDownManager" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/DrillDownManager/default.aspx" /><category term="Chart" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Chart/default.aspx" /><category term="Drilldown" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Drilldown/default.aspx" /><category term="Silverlight" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Silverlight/default.aspx" /><category term="Silverlight Chart" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Silverlight+Chart/default.aspx" /><category term="BreadCrumb" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/BreadCrumb/default.aspx" /></entry><entry><title>Silverlight Chart Drilldown: Part One</title><link rel="alternate" type="text/html" href="/community/blogs/bojan/archive/2009/11/11/chart-drilldown-part-one.aspx" /><id>/community/blogs/bojan/archive/2009/11/11/chart-drilldown-part-one.aspx</id><published>2009-11-11T20:15:00Z</published><updated>2009-11-11T20:15:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.componentart.com/community/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/8540.DrillPicture.PNG"&gt;&lt;/a&gt;&lt;a href="http://www.componentart.com/community/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/2402.DrillPicture1.PNG"&gt;&lt;img style="border:0;vertical-align:middle;" src="http://www.componentart.com/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/2402.DrillPicture1.PNG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This blog post will demonstrate how to use the drilldown capability of the &lt;i&gt;Silverlight Chart &lt;/i&gt;control. &lt;a href="http://www.componentart.com/community/blogs/bojan/archive/2009/12/02/silverlight-chart-drilldown-part-two-adding-a-breadcrumb-control.aspx"&gt;Silverlight Chart Drilldown: Part Two&lt;/a&gt; and Part Three will show how to integrate &lt;i&gt;Chart &lt;/i&gt;drilldown with a &lt;i&gt;BreadCrumb &lt;/i&gt;control and a &lt;i&gt;RangeSlider &lt;/i&gt;control respectively. We will create a bare-bones drilldown chart with three drill levels showing yearly data, monthly data and daily data. Here are the steps that need to be taken:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;b&gt;Define the chart in XAML&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;In XAML we will define the chart for the top-most drill level. Charts for other drill levels will be instantiated in code as needed. Of the chart properties, only a single data series has been defined in XAML. All other chart properties will be set in code.&lt;/p&gt;
&lt;pre class="codeblock"&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;StackPanel&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Orientation&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Vertical&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Button&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Content&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Back&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Click&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;Button_Click&amp;quot;&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;80&amp;quot;&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;ComponentArt&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt; &lt;span style="color:#FF0000;"&gt;x&lt;/span&gt;:&lt;span style="color:#FF0000;"&gt;Name&lt;/span&gt;=&lt;span style="color:#0000FF;"&gt;&amp;quot;DrillChart&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;ComponentArt&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#C71585;"&gt;ComponentArt&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Series&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;ComponentArt&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart.DataSeries&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#C71585;"&gt;ComponentArt&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Chart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;br /&gt;Notice that we have placed the chart into a &lt;i&gt;Grid &lt;/i&gt;control. Other charts will be attached to the same element and since it is a &lt;i&gt;Grid &lt;/i&gt;they will occupy the same spot in space which is exactly what we want. We have also defined a Button that will take us back to the previous drill levels.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;b&gt;Extend the DrillDownManager class&lt;/b&gt;&amp;nbsp;&amp;nbsp; &lt;/h4&gt;
&lt;pre class="codeblock"&gt;	&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;class&lt;/span&gt; MyDrillDownManager : DrillDownManager&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Charting assembly includes a &lt;i&gt;DrillDownManager &lt;/i&gt;class that encapsulates all the drilldown plumbing needed for drilling up or down including all animations. All that is left for us to implement is some business logic. We will need to extend the &lt;i&gt;DrillDownManager &lt;/i&gt;with our own class, here called &lt;i&gt;MyDrillDownManager&lt;/i&gt;, to define an abstract method and override another virtual method.&lt;/p&gt;
&lt;h4&gt;&lt;b&gt;Call the base constructor&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;The constructor will accept the top-level drill chart and pass it on to the base constructor. In the base constructor this chart will be assigned to the &lt;i&gt;CurrentChart &lt;/i&gt;property.&lt;/p&gt;
&lt;pre class="codeblock"&gt;        &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; MyDrillDownManager(Chart topLevelChart)&lt;br /&gt;            : &lt;span style="color:#0000FF;"&gt;base&lt;/span&gt;(topLevelChart)&lt;br /&gt;        {&lt;br /&gt;            InitializeChart(CurrentChart);&lt;br /&gt;            LoadData(CurrentChart, &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(1991,1,1), &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(2001,1,1));&lt;br /&gt;        }&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;b&gt;Set the desired properties on the chart&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;At this point we will also set the properties we wish to set on the chart by calling a helper method &lt;i&gt;InitializeChart&lt;/i&gt;.&lt;/p&gt;
&lt;pre class="codeblock"&gt;        InitializeChart(CurrentChart);&lt;br /&gt;&lt;br /&gt;    ...&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; InitializeChart(Chart chart)&lt;br /&gt;        {&lt;br /&gt;            chart.Width = 400;&lt;br /&gt;            chart.Height = 300;&lt;br /&gt;            chart.XValue = &amp;quot;&lt;span style="color:#8B0000;"&gt;Date&lt;/span&gt;&amp;quot;;&lt;br /&gt;            chart.ChartKind = ChartKind.RoundedBlock;&lt;br /&gt;&lt;br /&gt;            chart.DataSeries.Clear();&lt;br /&gt;            Series series = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; Series();&lt;br /&gt;            series.YValue = &amp;quot;&lt;span style="color:#8B0000;"&gt;Value&lt;/span&gt;&amp;quot;;&lt;br /&gt;            chart.DataSeries.Add(series);&lt;br /&gt;&lt;br /&gt;            chart.MouseLeftButtonDownOnDataPoint += &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; EventHandler&amp;lt;SelectedDataPointEventArgs&amp;gt;(Chart_MouseLeftButtonDownOnDataPoint);&lt;br /&gt;        }&lt;/pre&gt;
&lt;p&gt;
&lt;br /&gt;Notice that we have also created a handler for the mouse click on a data point event at which point we will initiate a drilldown.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;b&gt;Load data for the chart&lt;/b&gt;&lt;/h4&gt;
&lt;pre class="codeblock"&gt;        LoadData(CurrentChart, &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(1991,1,1), &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(2001,1,1));&lt;/pre&gt;
&lt;p&gt;
&lt;br /&gt;We will load chart data by calling &lt;i&gt;LoadData &lt;/i&gt;helper method and supplying the chart and a start and end date indicating the range of data to be included. For the purpose of this demo, &lt;i&gt;LoadData&lt;/i&gt; generates random data values with the appropriate dates for each drill level. In reality, data will probably come from a database.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Initiate drilldown&lt;/h4&gt;
&lt;p&gt;In the handler for the mouse click on a data point event we will call &lt;i&gt;Drill&lt;/i&gt; method to initiate a drilldown.&lt;/p&gt;
&lt;pre class="codeblock"&gt;        &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Chart_MouseLeftButtonDownOnDataPoint(&lt;span style="color:#0000FF;"&gt;object&lt;/span&gt; sender, SelectedDataPointEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (drillLevel &amp;lt; 2)&lt;br /&gt;            {&lt;br /&gt;                drillLevel++;&lt;br /&gt;                Drill(e.DataPointContext.DataPoint.X);&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;
&lt;p&gt;
&lt;br /&gt;drillLevel member variable keeps track of the current drill level we are currently at (value of 0 for years, 1 for months and 2 for days). We need to increment this variable every time we drill and decrement it every time we go back as you will see below.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;b&gt;Implement the abstract method &lt;i&gt;GetDrillChart&lt;/i&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;After drilldown has been initiated, &lt;i&gt;DrillDownManager &lt;/i&gt;will call an abstract method&lt;i&gt; GetDrillChart &lt;/i&gt;to request a new chart instance for the next drill level. We need to implement this method to create a new chart, set properties on it and load the appropriate data.&lt;/p&gt;
&lt;pre class="codeblock"&gt;        &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;override&lt;/span&gt; Chart GetDrillChart(Chart currentChart, &lt;span style="color:#0000FF;"&gt;object&lt;/span&gt; xCoordinate)&lt;br /&gt;        {&lt;br /&gt;            Chart newChart = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; Chart();&lt;br /&gt;            InitializeChart(newChart);&lt;br /&gt;&lt;br /&gt;            DateTime start, end;&lt;br /&gt;            start = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(((DateTime)xCoordinate).Ticks);&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (drillLevel == 1)&lt;br /&gt;                end = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(((DateTime)xCoordinate).Ticks).AddYears(1);&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;br /&gt;                end = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; DateTime(((DateTime)xCoordinate).Ticks).AddMonths(1);&lt;br /&gt;&lt;br /&gt;            LoadData(newChart, start, end);&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; newChart;&lt;br /&gt;        }&lt;/pre&gt;
&lt;p&gt;
&lt;br /&gt;We will use the same &lt;i&gt;InitializeChart&lt;/i&gt; method to set chart properties and &lt;i&gt;LoadData &lt;/i&gt;to load the appropriate data. One of the parameters that the &lt;i&gt;DrillDownManager &lt;/i&gt;passed us is the x-coordinate of the data point which the user clicked on to drill. Since the x-coordinate is a single value we need to have some logic that will determine, for each drill level, the appropriate range of values that this point represents.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;If chart not ready return null&lt;/h4&gt;
&lt;p&gt;If the chart data is not immediately available (for example if the data is loaded asynchronously from a database) you can return &lt;i&gt;null &lt;/i&gt;from &lt;i&gt;GetDrillChart &lt;/i&gt;and when the data has been assigned to the data source of the chart call &lt;i&gt;DrillChartReady &lt;/i&gt;to give the new chart instance to the &lt;i&gt;DrillDownManager&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Going back&lt;/h4&gt;
&lt;p&gt;In XAML we have already defined a back button. In the &lt;i&gt;Click &lt;/i&gt;event handler we just need to call the &lt;i&gt;Back &lt;/i&gt;method of the &lt;i&gt;DrillDownManager&lt;/i&gt;.&lt;/p&gt;
&lt;pre class="codeblock"&gt;        &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Button_Click(&lt;span style="color:#0000FF;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            drillDownManager.Back();&lt;br /&gt;        }&lt;/pre&gt;
&lt;p&gt;
&lt;br /&gt;We also need to override the &lt;i&gt;Back &lt;/i&gt;method in our &lt;i&gt;MyDrillDownManager &lt;/i&gt;to correctly keep track of drill levels.&lt;/p&gt;
&lt;pre class="codeblock"&gt;        &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;override&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Back()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (drillLevel &amp;gt; 0)&lt;br /&gt;            {&lt;br /&gt;                drillLevel--;&lt;br /&gt;                &lt;span style="color:#0000FF;"&gt;base&lt;/span&gt;.Back();&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;After performing these steps we should have a working drilldown application. Hopefully, now you have a clearer picture of how drilldown is intended to work in &lt;i&gt;Silverlight Chart&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;You can download the code for this demo &lt;a href="http://www.componentart.com/community/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bojan/7416.DrillDownBlog.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.componentart.com/community/aggbug.aspx?PostID=96095" width="1" height="1"&gt;</content><author><name>BJovanovic</name><uri>http://www.componentart.com/community/members/BJovanovic/default.aspx</uri></author><category term="DrillDownManager" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/DrillDownManager/default.aspx" /><category term="Chart" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Chart/default.aspx" /><category term="Drilldown" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Drilldown/default.aspx" /><category term="Silverlight" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Silverlight/default.aspx" /><category term="Silverlight Chart" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Silverlight+Chart/default.aspx" /></entry><entry><title>WebChart View Angle Chooser Control: Client-Side 3D Rendering</title><link rel="alternate" type="text/html" href="/community/blogs/bojan/archive/2008/07/22/view-angle-chooser-control-client-side-3d-rendering.aspx" /><id>/community/blogs/bojan/archive/2008/07/22/view-angle-chooser-control-client-side-3d-rendering.aspx</id><published>2008-07-23T02:57:00Z</published><updated>2008-07-23T02:57:00Z</updated><content type="html">View Angle Chooser is a UI control that comes included with the Charting 2008.1 product. It displays three sides of a rectangular box which can be rotated using a mouse to select the best chart viewing angle. Check out the &lt;a href="http://www.componentart.com/charting/gallery/samples/ajax/toolbar/" target="_blank"&gt;&lt;font color="#ff0000"&gt;Charting toolbar demo&lt;/font&gt;&lt;/a&gt; to see it in action. &lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align:center;"&gt;
&lt;img align="middle" height="175" src="http://www.componentart.com/blogs/bojan/images/ViewAngleChooser.PNG" width="154" /&gt;
&lt;/div&gt;
&lt;br /&gt;
In this post I will explain how it was implemented. The challenge was to efficiently draw 2D shapes (which represent projected 3D surfaces) using only standard DHTML technologies: HTML, JavaScript, CSS and DOM. There is no standard JavaScript library for drawing shapes, and the ones that do exist are highly inefficient, potentially requiring 100s of div elements.&lt;br /&gt;
&lt;br /&gt;
We followed a trick outlined on &lt;a href="http://www.uselesspickles.com/triangles/demo.html" target="_blank"&gt;&lt;font color="#ff0000"&gt;www.uselesspickles.com&lt;/font&gt;&lt;/a&gt; which allowed us to draw horizontal or vertical right angle triangles using div elements. &lt;br /&gt;
&lt;br /&gt;
The idea is to color one of the border edges of a div element and make an adjacent border edge transparent. The width of the other two border edges should be set to zero as well as the width and the height of the div itself.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;&amp;nbsp; &amp;lt;div style='width: 0px; height: 0px; border-left: 0px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-bottom: 0px; border-top: #ff0000 50px solid;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-right: transparent 100px solid;&amp;#39;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
A triangle produced by the above code looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align:center;"&gt;
&lt;img height="122" src="http://www.componentart.com/blogs/bojan/images/RightAngleTriangle.PNG" width="218" /&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
The other three right angle triangles can be drawn similarly. To draw a triangle of any size and orientation we need to subdivide it into constituent vertical or horizontal right angle triangles. A possible subdivision for the following triangle looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align:center;"&gt;
&lt;img height="180" src="http://www.componentart.com/blogs/bojan/images/Triangle.PNG" width="216" /&gt;
&lt;/div&gt;
&lt;br /&gt;
Not all triangles can be divided into a finite number of constituent right angle triangles as seen in the above figure. In that case, the subdivision can be stopped after the desired level of detail has been reached.&lt;br /&gt;
&lt;br /&gt;
Our first attempt at subdividing the sides of a rectangular box involved dividing each quadrilateral side of the box along the diagonal into two triangles and subsequently dividing each of the resultant triangles in turn. This is what such a subdivision might look like:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align:center;"&gt;
&lt;img align="middle" height="284" src="http://www.componentart.com/blogs/bojan/images/FirstSubdivision.PNG" width="307" /&gt;
&lt;/div&gt;
&lt;br /&gt;
White dots started appearing from imperfect alignment where two triangles are joined along the hypotenuse. To eliminate that effect and to decrease the number of triangles we changed our subdivision method to first select the largest horizontal or vertical rectangle that can be inscribed inside of the quadrilateral side. One rectangle and four triangles are produced. The rectangle can then be drawn with a simple div while the triangles are subdivided the normal way. This is what such a subdivision might look like:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align:center;"&gt;
&lt;img height="284" src="http://www.componentart.com/blogs/bojan/images/SecondSubdivision.PNG" width="307" /&gt;
&lt;/div&gt;
&lt;br /&gt;
Notice that no two triangles are joined along the hypotenuse.&lt;br /&gt;
&lt;br /&gt;
The following drawing shows the View Angle Chooser rectangular box with each of the constituent rectangles and triangles drawn with a different shade:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align:center;"&gt;
&lt;img height="249" src="http://www.componentart.com/blogs/bojan/images/Subdivision1.PNG" width="224" /&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
When drawing 2D triangles using this technique keep the following browser incompatibilities in mind:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Internet Explorer 6&lt;/strong&gt; &amp;ndash; Transparency is not supported, but you can use the chroma filter and choose one color to be transparent. Your triangle divs will be of the following form:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;&amp;nbsp; &amp;lt;div style='filter:chroma(color=#abcdef);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: 0px; height: 0px; border-left: 0px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-bottom: 0px; border-top: #ff0000 50px solid;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-right: #abcdef 100px solid;&amp;#39;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;strong&gt;Opera (any version)&lt;/strong&gt; &amp;ndash; Divs are at least as high as the current font, so there might be a problem drawing small triangles. To get around this problem do the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;&amp;nbsp; &amp;lt;div style='line-height: 0px; font-size: 0px;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: 0px; height: 0px; border-left: 0px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-bottom: 0px; border-top: #ff0000 50px solid;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-right: transparent 100px solid;&amp;#39;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
Interestingly, this control looks best in Firefox 3.0 because it is automatically anti-aliased while it renders the fastest in Safari 3.1.&lt;br /&gt;
&lt;br /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.componentart.com/community/aggbug.aspx?PostID=80829" width="1" height="1"&gt;</content><author><name>BJovanovic</name><uri>http://www.componentart.com/community/members/BJovanovic/default.aspx</uri></author><category term="Client-side API" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Client-side+API/default.aspx" /><category term="JavaScript" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/JavaScript/default.aspx" /><category term="Charting" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Charting/default.aspx" /><category term="WebChart" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/WebChart/default.aspx" /><category term="3D" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/3D/default.aspx" /></entry><entry><title>Drilling deeper into the Charting client-side API</title><link rel="alternate" type="text/html" href="/community/blogs/bojan/archive/2008/07/14/drilling-deeper-into-the-charting-client-side-api.aspx" /><id>/community/blogs/bojan/archive/2008/07/14/drilling-deeper-into-the-charting-client-side-api.aspx</id><published>2008-07-14T19:17:00Z</published><updated>2008-07-14T19:17:00Z</updated><content type="html">&lt;p&gt;ComponentArt Charting 2008.1 introduces an easy way for end users to customize the look and feel of charts. This is accomplished through a JavaScript client-side API. &lt;a href="http://www.componentart.com/charting/gallery/samples/ajax/toolbar/" target="_blank"&gt;&lt;font color="#ff0000"&gt;Charting toolbar demo&lt;/font&gt;&lt;/a&gt; in ComponentArt&amp;rsquo;s new &lt;a href="http://www.componentart.com/charting/gallery/" target="_blank"&gt;&lt;font color="#ff0000"&gt;Charting gallery&lt;/font&gt;&lt;/a&gt; shows how this can be done.&lt;/p&gt;
&lt;div style="text-align:center;"&gt;
&lt;img align="middle" height="338" src="http://www.componentart.com/blogs/bojan/images/ToolbarDemo.PNG" width="510" /&gt;
&lt;/div&gt;
&lt;br /&gt;

&lt;p&gt;The toolbar demo allows the end user change the following properties:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chart type&lt;/li&gt;

&lt;li&gt;Color scheme&lt;/li&gt;

&lt;li&gt;Orientation&lt;/li&gt;

&lt;li&gt;View angle&lt;/li&gt;

&lt;li&gt;Projection&lt;/li&gt;

&lt;li&gt;Perspective&lt;/li&gt;

&lt;li&gt;XY, YZ and ZX plane visibility&lt;br /&gt;
&lt;/li&gt;

&lt;li&gt;Legend visibility&lt;/li&gt;

&lt;li&gt;Series order&lt;/li&gt;

&lt;li&gt;Series highlighting&lt;/li&gt;

&lt;li&gt;Choice of rendering engines, high-quality or high-speed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These properties are accessed via a ComponentArt Web.UI ToolBar control.&lt;/p&gt;

&lt;p&gt;Properties with an on/off state, such as the visibility of the XY, YZ and ZX planes and the visibility of the legend, are implemented using toolbar buttons directly.&lt;/p&gt;

&lt;p&gt;Properties that have several options, such as chart type, color scheme, orientation, projection, series order, series highlighting and the engine selection, use Web.UI Menu controls connected to their corresponding toolbar buttons.&lt;/p&gt;

&lt;p&gt;The perspective property uses a Web.UI ComboBox control embedded in the ToolBar.&lt;/p&gt;

&lt;div style="text-align:center;"&gt;
&lt;img height="175" src="http://www.componentart.com/blogs/bojan/images/ViewAngleChooser.PNG" width="154" /&gt;
&lt;/div&gt;

&lt;p&gt;View Angle Chooser is a custom control implemented entirely in JavaScript. It is packaged with the WebChart assembly and can be used in your application separately from the toolbar demo.&amp;nbsp; &lt;br /&gt;
&lt;/p&gt;

&lt;p&gt;The control must be enabled on the server before it is used:
&lt;/p&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ C# ]&lt;br /&gt;targetChart.Clientside.ViewAngleChooserEnabled = true;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;
&lt;br /&gt;
The HTML code that this control generates is obtained by calling the &lt;a href="http://www.componentart.com/docs/default.aspx?content=WebChart/ComponentArt.Charting~WebChart_GetViewAngleChooserHTML_method.htm" target="_blank"&gt;&lt;font color="#ff0000"&gt;GetViewAngleChooserHTML()&lt;/font&gt;&lt;/a&gt; method of the WebChart JavaScript object: &lt;br /&gt;&lt;/p&gt;&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ JavaScript ]&lt;br /&gt;WebChart1.GetViewAngleChooserHTML();&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;br /&gt;
Position, sizes and colors can be customized. The View Angle Chooser control will be discussed in more depth in a future blog post.
&lt;/p&gt;
&lt;p&gt;WebChart&amp;rsquo;s client-side API must also be enabled on the server before it is used. This was accomplished by setting the Clientside.ClientsideApiEnabled property to true. After the API is enabled it can be accessed through a JavaScript object whose name is the UniqueID property of the WebChart.&lt;/p&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ C# ]&lt;br /&gt;targetChart.Clientside.ClientsideApiEnabled = true;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;The chart properties are accessed through the getter and setter methods:&lt;/p&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ JavaScript ]&lt;br /&gt;WebChart1.set_mainChartType(&amp;quot;AreaSmooth&amp;quot;);&lt;br /&gt;WebChart1.set_colorPalette(&amp;quot;Organic&amp;quot;);&lt;br /&gt;WebChart1.set_legendVisibility(true);&lt;br /&gt;WebChart1.set_planeXYVisible(false);&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;
&lt;br /&gt;
To refresh the chart, after the properties have been set, the refresh method needs to be called. 
&lt;/p&gt;&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ JavaScript ]&lt;br /&gt;WebChart1.refresh();&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;There are two ways in which the refresh method can function: an AJAX callback, or a traditional postback. This can be selected in the server-side code.&lt;/p&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ C# ]&lt;br /&gt;WebChart1.Clientside.RefreshMethod = ClientsideRefreshMethod.Callback;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;In our demo, the refresh method is not called explicitly because the AutoRenderOnChange property is set to true in the server-side code. This will cause a refresh to happen automatically after any client-side property has been changed.&lt;/p&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ C# ]&lt;br /&gt;WebChart1.Clientside.AutoRenderOnChange = true;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;Client-side customization is not limited to just these properties. In fact any property in your web application, chart related or not, can be customized through the client-side API. This can be accomplished using custom properties:&lt;/p&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ JavaScript ]&lt;br /&gt;ComponentArt.Charting.WebChart.set_customProperty(name, value);&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;To retrieve the value of the custom property in the server-side code call:&lt;/p&gt;
&lt;div style="border:1px solid #808080;padding:10px;font-family:courier new;background-color:#e5e5e5;text-align:left;"&gt;
&lt;pre&gt;[ C# ]&lt;br /&gt;public string GetCustomProperty(string key);&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;Once the custom property value is retrieved you can do anything with it, such as modify any aspect of the chart or effect a change in another part of the application. See the &lt;a href="http://www.componentart.com/charting/gallery/samples/ajax/drilldown/" target="_blank"&gt;&lt;font color="#ff0000"&gt;Drill-down demo&lt;/font&gt;&lt;/a&gt; for an example of how custom properties are used.
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.componentart.com/community/aggbug.aspx?PostID=80600" width="1" height="1"&gt;</content><author><name>BJovanovic</name><uri>http://www.componentart.com/community/members/BJovanovic/default.aspx</uri></author><category term="Client-side API" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Client-side+API/default.aspx" /><category term="JavaScript" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/JavaScript/default.aspx" /><category term="Charting" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/Charting/default.aspx" /><category term="AJAX" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/AJAX/default.aspx" /><category term="ToolBar" scheme="http://www.componentart.com/community/blogs/bojan/archive/tags/ToolBar/default.aspx" /></entry></feed>
