<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-5  評(píng)論-13  文章-0  trackbacks-0

    ??? 本篇文章將演示如何使用 WebChart 制作折線圖。并通過(guò)示例介紹數(shù)據(jù)對(duì)象一些相關(guān)屬性以及 ChartArea Axis 的相關(guān)屬性設(shè)置,并演示使用 WebChart 做交互式的設(shè)計(jì)。
    ???
    注:版本 ComponentOne.Studio.Enterprise.2006.v2?
    ??? ????環(huán)境
    .NET Compact Framework 1.1

    ?

    一、生成折線圖

    1) 獲取 WebChart 的第一個(gè)圖標(biāo),并設(shè)置其圖表類型為折線圖

    C1WebChart1.ChartGroups[ 0 ].ChartType? = ?Chart2DTypeEnum.XYPlot;

    2) 為圖表添加數(shù)據(jù)

    DataSet?ds? = ?GetDataSet();

    獲取數(shù)據(jù)。這里可以根據(jù)自己的業(yè)務(wù)需求,或自動(dòng)生成或查詢數(shù)據(jù)庫(kù),返回一個(gè) DataSet 對(duì)象。


    DataView?dv? = ? new ?DataView(ds.Tables[ " sanguo " ]);
    PointF[]?data?
    = ?(PointF[])Array.CreateInstance( typeof (PointF),?dv.Count);
    int ?i;
    for (i = 0 ;?i? < ?data.Length;?i ++ )
    {
    ??????float ?y? = ? float .Parse(dv[i][ " value " ].ToString());
    ??????data[i]?
    = ? new ?PointF(i,?y);
    }

    將數(shù)據(jù)封裝在 PointF 類型的對(duì)象數(shù)組中。這里可以使用任何方式封裝數(shù)據(jù)。

    ?

    // 清除圖表所有數(shù)據(jù)序列
    C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.Clear();

    // 創(chuàng)建一個(gè)新的數(shù)據(jù)序列,并設(shè)置數(shù)據(jù)
    ChartDataSeries?series? = ?C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.AddNewSeries();

    WebChart 默認(rèn)會(huì)有 4 個(gè)數(shù)據(jù)序列,為了不讓其他序列影響輸出效果,清除序列集合中的所有序列,并且創(chuàng)建一個(gè)新的序列。

    ?

    series.PointData.CopyDataIn(data);

    將數(shù)據(jù)添加至新建的數(shù)據(jù)序列中。這里使用 PointData 屬性,同時(shí)為 X Y 坐標(biāo)付值。

    ?

    到這里,我們便可以運(yùn)行程序,看到一個(gè)有我們的數(shù)據(jù)生成的一個(gè)默認(rèn)樣式的折線圖。下面來(lái)介紹使用 ChartDataSeries 對(duì)象設(shè)置圖形的樣式。

    ?
    二、使用 ChartDataSeries 對(duì)象設(shè)置折線圖樣式

    關(guān)于 ChartDataSeries 對(duì)象,之前已作了簡(jiǎn)單介紹,這里直接以代碼介紹其部分屬性。

    series.FitType? = ?FitTypeEnum.Spline;

    設(shè)置折線為平滑曲線。

    series.LineStyle.Color? = ?Color.Red;

    設(shè)置折線顏色為紅色。

    LineStyle 的相關(guān)屬性:

    Pattern - 設(shè)置折線的類型 (實(shí)心直線、點(diǎn)線等),其值為 LinePatternEnum 枚舉類型。

    Thickness – 設(shè)置折線厚度

    series.SymbolStyle.Shape? = ?SymbolShapeEnum.InvertedTri;
    series.SymbolStyle.Color?
    = ?Color.Blue;

    設(shè)置折線上數(shù)據(jù)點(diǎn)的符號(hào)形狀為倒三角,顏色為藍(lán)色。

    還可以通過(guò) SymbolStyle 設(shè)置符號(hào)的大小,符號(hào)邊線的顏色及厚度。可以自己嘗試。

    ?

    三、坐標(biāo)軸的設(shè)置

    Axis?ax? = ?C1WebChart1.ChartArea.AxisX;

    獲取圖表的 X 坐標(biāo)軸。

    ?

    ax.AnnoMethod? = ?AnnotationMethodEnum.ValueLabels;?

    設(shè)置坐標(biāo)軸刻度標(biāo)簽顯示方式,這里使用 ValueLabels ,有用戶來(lái)制定標(biāo)簽內(nèi)容。默認(rèn)為 Values 模式,有系統(tǒng)自動(dòng)標(biāo)注標(biāo)簽內(nèi)容。

    for (i? = ? 0 ;?i? < ?data.Length;?i ++ )
    {
    ??????DataRowView?drv?
    = ?dv[i];
    ??????ax.ValueLabels.Add(i,?(
    string )drv[ " name " ]);
    }

    設(shè)置坐標(biāo)軸刻度標(biāo)簽顯示內(nèi)容。

    ax.ValueLabels.Add 的第一個(gè)參數(shù)為圖表數(shù)據(jù)的 x 值,第二個(gè)參數(shù)為對(duì)應(yīng)顯示的標(biāo)簽文本。

    ?

    ax.AnnotationRotation? = ? - 60 ;

    設(shè)置刻度標(biāo)簽的旋轉(zhuǎn)角度。

    對(duì)于標(biāo)簽內(nèi)容還可以使用屬性 AnnoFormatString 來(lái)設(shè)置內(nèi)容的格式。


    ax.Text? = ? " X?坐標(biāo)軸? " ;

    設(shè)置坐標(biāo)軸標(biāo)題。

    ax.Rotation? = ?RotationEnum.Rotate90;

    設(shè)置坐標(biāo)軸標(biāo)題的旋轉(zhuǎn)角度。當(dāng)坐標(biāo)軸標(biāo)題設(shè)置以后生效。

    對(duì)于坐標(biāo)軸標(biāo)題,還可以設(shè)置它的 對(duì)齊方式,使用屬性 Alignment

    ?

    ax.Max? = ?data.Length? - ?. 5 ;

    設(shè)置坐標(biāo)軸的最大長(zhǎng)度

    相應(yīng)的還有 Min 屬性設(shè)置坐標(biāo)軸的最小長(zhǎng)度, Origin 屬性 設(shè)置坐標(biāo)軸原點(diǎn)。對(duì)應(yīng)這些,還有 AutoMax AutoMin AutoOrigin bool 類型的屬性,表示是否自動(dòng)設(shè)置。

    對(duì)于刻度值的也有類似屬性: UnitMajor UnitMinor 設(shè)置主、副刻度的單位長(zhǎng)度。以及對(duì)應(yīng)的 auto 屬性等。

    ?

    除此之外,還有一些特殊屬性:

    Reverse 屬性:使坐標(biāo)軸反轉(zhuǎn)。

    ScrollBar 屬性:為坐標(biāo)軸添加滾動(dòng)條。

    Visible 屬性:可以隱藏坐標(biāo)軸。

    OnTop 屬性:可以設(shè)置坐標(biāo)軸顯示在圖表上方。

    等等。

    在我們使用 .NET 開發(fā)環(huán)境中,會(huì)有智能感知的相關(guān)提示,對(duì)于對(duì)象屬性的使用會(huì)簡(jiǎn)單得多。這里只介紹了主要的屬性,其他屬性可根據(jù)需要自行嘗試。

    ?

    四、交互式設(shè)計(jì)

    C1WebChart1.ImageAreas.GetByName( " ChartArea " ).href = " http://kdboy.spaces.live.com " ?temp_href = " http://kdboy.spaces.live.com " ;

    為圖表區(qū)域增加鏈接。

    C1WebChart1.ImageAreas.GetByName( " ChartData " ).Tooltip? = ? " X={#XVAL},?Y={#YVAL:c} " ;

    為折線上的數(shù)據(jù)點(diǎn)增加鼠標(biāo)提示。(鼠標(biāo)移至數(shù)據(jù)點(diǎn)的符號(hào)上,會(huì)提示你所設(shè)置文本)

    C1WebChart1.ImageAreas.GetByName( " Footer " ).Attributes? = ? " onclick=window.open('http://kdboy.spaces.live.com') " ;

    為圖表底部添加點(diǎn)擊事件。

    ?

    五、補(bǔ)充

    C1WebChart1.Footer.Text? = ? " Web?Chart?Test! " ;
    C1WebChart1.Footer.Visible?
    = ? true ;

    這里設(shè)置圖標(biāo)下標(biāo)題,并讓圖表 Footer 區(qū)域顯示在圖表中。

    對(duì)于 C1WebChart 的相關(guān)屬性比較簡(jiǎn)單,不再一一演示。

    ?

    六、結(jié)束

    以上是折線圖的部分代碼,完整示例可以通過(guò)下面鏈接下載。
    下載地址:http://www.tkk7.com/Files/kdboy/2DChartXYPlot.rar

    ?

    附錄:

    效果圖

    posted on 2007-03-08 01:06 kdboy 閱讀(2387) 評(píng)論(4)  編輯  收藏 所屬分類: ASP.NET

    評(píng)論:
    # re: ComponentOne WebChart的使用 - 3(折線圖) [未登錄](méi) 2008-12-12 10:21 | 檸檬
    有沒(méi)有破解版的啊  回復(fù)  更多評(píng)論
      
    # re: ComponentOne WebChart的使用 - 3(折線圖) 2009-02-16 14:34 | 游客
    請(qǐng)問(wèn)使用webchart做曲線圖可不可以實(shí)現(xiàn)不同的點(diǎn)使用不同的顏色,就是把某幾個(gè)點(diǎn)著重標(biāo)出來(lái)啊  回復(fù)  更多評(píng)論
      
    # re: ComponentOne WebChart的使用 - 3(折線圖) 2010-05-18 13:57 | 匿名
    示例不能加載到VS  回復(fù)  更多評(píng)論
      
    # re: ComponentOne WebChart的使用 - 3(折線圖) 2011-11-10 10:08 | 豆腐
    問(wèn)使用webchart做曲線圖可不可以實(shí)現(xiàn)不同的點(diǎn)使用不同的顏色,就是把某幾個(gè)點(diǎn)著重標(biāo)出來(lái)啊   回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 精品国产sm捆绑最大网免费站| 国产精品亚洲综合久久| 亚洲精品国产高清不卡在线| 免费国产成人高清在线观看麻豆 | 国产精品一区二区三区免费| 两个人看的www视频免费完整版| 色欲国产麻豆一精品一AV一免费| 在线观看的免费网站| 亚洲精品国产va在线观看蜜芽| 污网站在线观看免费| 91精品免费观看| 亚洲日本在线观看视频| 亚洲毛片免费观看| 男女一边桶一边摸一边脱视频免费| 红杏亚洲影院一区二区三区| 亚洲偷自精品三十六区| 国产区在线免费观看| 日韩人妻无码免费视频一区二区三区 | 日韩免费在线视频| 国产精品免费看香蕉| 亚洲国产精品成人精品软件| 三年片在线观看免费西瓜视频| 女人18毛片a级毛片免费| 亚洲精品狼友在线播放| 亚洲色偷偷色噜噜狠狠99网| 青青草原1769久久免费播放| 内射少妇36P亚洲区| sss日本免费完整版在线观看| 亚洲国产精品无码av| 国产免费内射又粗又爽密桃视频| 国产亚洲精品a在线观看app| 精品国产污污免费网站aⅴ| 亚洲欧美熟妇综合久久久久| 亚洲国产精品免费在线观看| 久久av无码专区亚洲av桃花岛| 国产va精品免费观看| xxxx日本在线播放免费不卡| 免费大片黄手机在线观看| 免费视频一区二区| 无码久久精品国产亚洲Av影片| 一级毛片在线免费播放|