Charts Controls 开发系列1

MS Chart Controls在2008年就已经有相关信息了,也一直对其有所关注;在现在发布的.Net 4.0中也已集成其中。

在此文中,我整理了一些开发的Charts Control的资料,供其参考。

系列目录:

  • 创建Basic Chart -- Completed
  • 了解Chart State Management -- ing
  • ….

 

创建Basic Chart 

  • Page:
                <asp:Chart ID="Chart1" runat="server" ImageType="Png" Height="500px" Width="1024px"
                    BackColor="#D3DFF0" Palette="BrightPastel" BorderDashStyle="Solid" BackSecondaryColor="White"
                    BackGradientStyle="TopBottom" BorderWidth="2" BorderColor="26, 59, 105" EnableViewState="true">
                    <BorderSkin SkinStyle="Emboss"></BorderSkin>
                    <ChartAreas>
                        <asp:ChartArea Name="chartArea" BorderColor="64, 64, 64, 64" BackSecondaryColor="White"
                            BackColor="Gainsboro" ShadowColor="Transparent" BackGradientStyle="TopBottom">
                            <AxisY2 Enabled="False">
                            </AxisY2>
                            <AxisX2 Enabled="False">
                            </AxisX2>
                            <Area3DStyle Rotation="10" Perspective="10" Inclination="15" IsRightAngleAxes="False"
                                WallWidth="0" IsClustered="False"></Area3DStyle>
                            <AxisY LineColor="64, 64, 64, 64" ArrowStyle="Triangle">
                                <LabelStyle Font="Tahoma, 8.25pt" />
                                <MajorGrid LineColor="64, 64, 64, 64" />
                            </AxisY>
                            <AxisX LineColor="64, 64, 64, 64" ArrowStyle="Triangle">
                                <LabelStyle Font="Tahoma, 8.25pt" />
                                <MajorGrid LineColor="64, 64, 64, 64" />
                            </AxisX>
                        </asp:ChartArea>
                    </ChartAreas>
                </asp:Chart>  
  • Code:

              using System.Web.UI.DataVisualization.Charting;

            protected void Page_Load ( object sender , System.EventArgs e ) {
            if ( !IsPostBack ) {
                double [] array = { 0.08 , 4.4 , 6.5 , 8.3 , 7.6 , 5.6 , 7.3 , 9.2 , -3.0 };
                double [] array1 = { 0.8 , 6.4 , 6.5 , 8.3 , 3.6 , 5.6 , 7.3 , 9.2 , -2.0 };
                double [] array2 = { 1.8 , 2.4 , 5.5 , 7.3 , 8.6 , 5.6 , 7.3 , 9.2 , -1.0 };

                resultChart.Series.Add ( CreateSeries ( "A" , "Chart1" ) );
                resultChart.Series.Add ( CreateSeries ( "B" , "Chart1" ) );
                resultChart.Series.Add ( CreateSeries ( "C" , "Chart1" ) );

                resultChart.Series ["A"].Points.DataBindY ( array );
                resultChart.Series ["B"].Points.DataBindY ( array1 );
                resultChart.Series ["C"].Points.DataBindY ( array2 );

                resultChart.ChartAreas ["chartArea"].AxisX.LabelStyle.Format = "M";
        }

 

        private Series CreateSeries ( String name , String chartArea ) {
            Series series = new Series ();
            {
                series.Name = name;
                series.ChartType = SeriesChartType.Spline;
                series.ChartArea = chartArea;
                series.XValueType = ChartValueType.DateTimeOffset;
                series.MarkerStyle = MarkerStyle.Triangle;
                series.MarkerColor = Color.Black;
                series.BorderColor = Color.Gray;
                series.ShadowOffset = 2;
            }
            return series;
        }

 

  • WebConfig: --对其进行相关配置
       <?xml version="1.0"?>
         <configuration>
	...
	<appSettings>
		<add key="ChartImageHandler" value="Storage=file;Timeout=20;Url=~/tempImages/;"/>
	</appSettings>
	<system.web>
		<compilation debug="true">
			<assemblies>
				...
				<add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
			</assemblies>
		</compilation>
		<pages>
			<controls>
				...
				<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" 
                          assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
			</controls>
		</pages>
		<httpHandlers>
			...
			<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler,
                                                               System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, 
                                                               PublicKeyToken=31bf3856ad364e35" validate="false"/>
		</httpHandlers>
         ...
	</system.web>
	...
	<system.webServer>
	...
		<handlers>
		...
			<remove name="ChartImageHandler"/>
			...
			<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" 
                                type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, 
                                      Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
		</handlers>
	</system.webServer>
	...
       </configuration>
 
  • 结果图示:

image

 
 

资料:

posted @ 2010-03-16 00:15  RicoRui  阅读(2086)  评论(3编辑  收藏  举报