圖形化報表

  引:圖形化報表一般用來展現業務數據,以便將繁雜的業務數據簡單化。ssh

1、經常使用的圖形化報表組件(Highchars(純js)、水晶報表、jqChart、MsChart、XtraReports)ide

2、MsChart報表結構佈局

  (1)背景:圖表的背景色測試

  (2)圖標標題:通常位於圖表的正上方中間位置。有的報表支持設置副標題。字體

  (3)圖例說明動畫

  (4)X軸、Y軸this

  (5)X軸標題、Y軸標題url

  (6)座標刻度值:用於控制和顯示Y軸方向的數據值。spa

  (7)序列:一個報表中能夠有一個或者多個序列orm

3、在ASP.NET WebForm模型中使用MsChart

  最經常使用的屬性包括:

ChartAreas:增長多個繪圖區域,每一個繪圖區域包含獨立的圖表組、數據源,用於多個圖表類型在一個繪圖區不兼容時。

AlignmentOrientation:圖表區對齊方向,定義兩個繪圖區域間的對齊方式。

AlignmentStyle:圖表區對齊類型,定義圖表間用以對其的元素。

AlignWithChartArea:參照對齊的繪圖區名稱。

InnerPlotPosition:圖表在繪圖區內的位置屬性。

Auto:是否自動對齊。

Height:圖表在繪圖區內的高度(百分比,取值在0-100)

Width:圖表在繪圖區內的寬度(百分比,取值在0-100)

X,Y:圖表在繪圖區內左上角座標

Position:繪圖區位置屬性,同InnerPlotPosition。

Name:繪圖區名稱。

Axis:座標軸集合

Title:座標軸標題

TitleAlignment:座標軸標題對齊方式

Interval:軸刻度間隔大小

IntervalOffset:軸刻度偏移量大小

MinorGrid:次要輔助線

MinorTickMark:次要刻度線

MajorGrid:主要輔助線

MajorTickMark:主要刻度線

DataSourceID:MSChart的數據源。

Legends:圖例說明。

Palette:圖表外觀定義。

Series:最重要的屬性,圖表集合,就是最終看到的餅圖、柱狀圖、線圖、點圖等構成的集合;能夠將多種相互兼容的類型放在一個繪圖區域內,造成複合圖。

IsValueShownAsLabel:是否顯示數據點標籤,若是爲true,在圖表中顯示每個數據值

Label:數據點標籤文本

LabelFormat:數據點標籤文本格式

LabelAngle:標籤字體角度

Name:圖表名稱

Points:數據點集合

XValueType:橫座標軸類型

YValueType:縱座標軸類型

XValueMember:橫座標綁定的數據源(若是數據源爲Table,則填寫橫座標要顯示的字段名稱)

YValueMembers:縱座標綁定的數據源(若是數據源爲Table,則填寫縱座標要顯示的字段名稱,縱座標能夠有兩個)

ChartArea:圖表所屬的繪圖區域名稱

ChartType:圖表類型(柱形、餅形、線形、點形等)

Legend:圖表使用的圖例名稱

Titles:標題集合。

width:MSChart的寬度。

height:MSChart的高度。

  經常使用事件:

Series1.Points.DataBind() 
綁定數據點集合,若是要在一個MSChart控件的一個繪圖區(ChartArea)內添加多個不一樣數據源的圖表,就用這個主動綁定數據集合的方法。能夠將表中指定字段的值綁定到指定的座標軸上。

MSChart1.DataBind() 
給整個MSChart綁定一個數據源,該MSChart中的圖表所有可使用該數據源做爲統計來源。

4、在ASP.NET MVC中使用Highchart

  chart的部分相關屬性說明:

    renderTo: 'container',      //圖表的頁面顯示容器(也就是要顯示到的div)
    defaultSeriesType: 'line',  //圖表類型(line、spline、scatter、splinearea、bar、pie、area、column)
    marginRight: 50,            //上下左右空隙(圖表跟圖框之間)
    marginBottom: 60,           //下面空隙若是不夠大,圖例說明有可能看不到
    plotBackgroundImage: '../graphics/skies.jpg', //(圖表的)背景圖片
    plotBackgroundColor:        //背景顏色
    width: 1000,                //圖框(最外層)寬(默認800)
    height: 500,                //圖框高(默認500) 
    backgroundColor: "red"      //圖框的背景顏色
    borderColor: "red"          //圖框的邊框顏色
    borderRadius: 5,            //圖框的圓角大小
    borderWidth: 9,             //圖框的邊框大小
    inverted: false,            //(使圖)倒置
    plotBorderColor: "red",     //圖表的邊框顏色
    plotBorderWidth: 0,         //圖表的邊框大小
    plotShadow: false,          //圖表是否使用陰影效果
    reflow: false,   
    shadow:true                 //圖框是否使用陰影
    showAxes: false,            //是否最初顯示軸
    spacingTop: 100,            //圖表上方的空白
    spacingRight: 10,
    spacingBottom: 15,
    spacingLeft: 10,
    colors: [...]                 //圖上線。。的顏色

credits的部分相關屬性說明
    credits:  //設置右下角的標記。highchart.com (這個也能夠在highcharts.js裏中修改)
    {    
        enabled: true,      //是否顯示
        position: {           //顯示的位置                   
            align: 'left',       
            x: 10                           
        },
        text: "xoyo.com",           //顯示的文字
        style:{                     //樣式
            cursor: 'pointer',
            color: 'red',
            fontSize: '20px'
        },
        href: 'http://www.xoyo.com', //路徑
    },
title的部分相關屬性說明
    title: //標題
    { 
        text: '月份平均溫度',
        x: -20,                  //center //水平偏移量 
        y: 100                   //y:垂直偏移量
        align: 'right'         //水平方向(left, right, bottom, top)
        floating: true,          //是否浮動顯示
        margin: 15,
        style: ,                 //樣式
        verticalAlign: "left"    //垂直方向(left, right, bottom, top)
    },
xAxis或者YAxis的部分相關屬性說明
    categories: ['一月', '二月'],
    allowDecimals: false
    alternateGridColor: 'red'       //在圖表中相隔出現縱向的顏色格柵
    dateTimeLabelFormats: ,
    endOnTick: false,               //是否顯示控制軸末端的一個cagegories出來
    events: {
    setExtremes:
    },
    gridLineColor: "red",           //縱向格線的顏色
    gridLineDashStyle: Solid        //縱向格柵線條的類型
    gridLineWidth: 5,               //縱向格線的的大小
    id: null,
    labels: {  //X軸的標籤(下面的說明)
        align: "center",              //位置
        enabled: false,               //是否顯示
        formatter: ,
        rotation: 90,                 //旋轉,效果就是影響標籤的顯示方向
        staggerLines: 4,              //標籤的交錯顯示(上、下)
        step: 2,                      //標籤的相隔顯示的步長
        style:{},
        x: 100,                     //偏移量,默認兩個都是0,
        y: 40
        
    },
    lineColor: "red",               //X軸的顏色
    lineWidth: 5,                   //X軸的寬度
    linkedTo:1,
    opposite: true                  //是否把標籤顯示到對面
    max: 12,                        //顯示的最大值
    maxPadding: 6,
    maxZoom: 1,
    min: 10,                        //顯示的最小值
    minorGridLineColor: 'red',        //副格線的顏色
    minorGridLineDashStyle: 'blod', //副格線的的顏色
    minorGridLineWidth: 50,         //副格線的寬度
    minorTickColor: #A0A0A0,        //???沒有看出效果
    minorTickInterval:3,               //副標記的間隔
    minorTickLength: 10,             //副標記的長度
    minorTickPosition: 'inside',     //副標記的位置
    minorTickWidth: 5,               //副標記的寬
    minPadding: 0.01,
    offset: 0,                       //座標軸跟圖的距離
    plotBands: //使某數據塊顯示不一樣的效果    
    plotLines: [{         //標線屬性
        value: 0,      //值爲0的標線
    }],        
    tickmarkPlacement: "on",   //標記(文字)顯示的位置,on表示在正對位置上。
    reversed: true,            //是否倒置
    showFirstLabel: false,     //第一個標記的數值是否顯示
    startOfWeek: 2,
    tickColor: 'blue',         //標記(座標的記號)的顏色
    tickInterval: 20,          //標記(座標的記號)的步長
    tickLength: 5,
    tickmarkPlacement: "on",
    tickPixelInterval: 1000,   //兩座標之間的寬度
    tickPosition: "inside",    //座標標記的方向
    title: {                   //設置座標標題的相關屬性
        margin: 40,
        rotation: 90,
        text: "Y-values",
        align: "middle",
        enabled: "middle",
        style: {color: 'red'}
    },
    type: "linear"
tooltip的部分相關屬性說明
    tooltip: //提示框設置
    {      
        formatter: function() {  //格式化提示框的內容樣式
        return '<b>'+ this.series.name +'</b><br/>'+
                this.x +': '+ this.y +'°C';
        },                       
        backgroundColor: '#CCCCCC',   //背景顏色
        borderColor: '#FCFFC5'      //邊框顏色
        borderRadius: 2             //邊框的圓角大小
        borderWidth: 3,               //邊框寬度(大小)
        enabled: false,             //是否顯示提示框
        shadow: false,              //提示框是否應用陰影  ?沒有看出明顯效果?????????
        shared: true,               //當打開這個屬性,鼠標幾個某一區域的時候,若是有多條線,全部的線上的據點都會有響應(ipad)
        snap: 0,          
        crosshairs: {                 //交叉點是否顯示的一條縱線
            width: 2,
            color: 'gray',
           dashStyle: 'shortdot'
        }
        style: {  //提示框內容的樣式
            color: 'white',
            padding: '10px',    //內邊距 (這個會經常使用到)
            fontSize: '9pt',            
        }
    },
legend(圖例說明)的部分相關屬性說明
    legend: //圖例說明
    {   
        layout: 'vertical',   //圖例說明佈局(垂直顯示,默認橫向顯示)
        align: 'center',        //圖例說明的顯示位置
        verticalAlign: 'top', //縱向的位置
        x: 250,                 //偏移量 
        y: 0,               
        borderWidth: 1,            //邊框寬度
        backgroundColor: 'red'   //背景顏色
        borderColor: 'red',
        borderRadius             //邊框圓角
        enabled: false          //是否顯示圖例說明
        floating:true           //是否浮動顯示(效果就是會不會顯示到圖中)
        itemHiddenStyle: {color: 'red'},
        itemHoverStyle: {color: 'red'}   //鼠標放到某一圖例說明上,文字顏色的變化顏色
        itemStyle:  {color: 'red'}   //圖例說明的樣式
        itemWidth:                   //圖例說明的寬度
        labelFormatter: function() { return this.value}       //?????????????默認(return this.name)
        lineHeight: 1000             //沒看出明顯效果
        margin: 20
        reversed:true                //圖例說明的順序(是否反向)
        shadow:true                  //陰影
        style: {color:'black'}
        symbolPadding: 100           //標誌(線)跟文字的距離
        symbolWidth: 100             //標誌的寬
        width:100
    },
 plotOptions的部分修改屬性說明
    plotOptions: (我這個是在柱形圖上作的測試)
    {  
        column: //柱形圖
        {
            pointPadding: 0.2,
            borderWidth: 1,               //柱子邊框的大小
            borderColor: "red",           //柱子邊框的顏色
            borderRadius: 180,            //柱子兩端的圓角的半徑
            colorByPoint: true,           //否應該接受每系列的一種顏色或每點一種顏色
            groupPadding: 0,                //每一組柱子之間的間隔(會影響到柱子的大小)
            minPointLength: 0,            //最小數據值那一條柱子的長度(若是是0,可能看不到,能夠設置出來)
            pointPadding: 0.1,            //柱子之間的間隔(會影響到柱子的大小)
            pointWidth: 2,                //柱子的大小(會影響到柱子的大小)
            allowPointSelect: false, 
            animation: true,              //圖形出來時候的動畫
            color: 'red',                 //柱子的顏色
            connectNulls: false,          //鏈接圖表是否忽略零點(如線形圖,數據爲0是是否忽略)
            cursor: '',                   //?????????遊標
            dashStyle: null,
            dataLabels: { //圖上是否顯示數據標籤
            enabled: true,
            align: "center",
            color: 'red',
            formatter: function() 
            {
                return this.y + 'mm'
            },
            rotation: 270,
            staggerLines: 0,
            step: ,
            style: ,
            x: 0,
            y: -6
            },
            enableMouseTracking: 
            events: {    //事件
            click: function(event)
            {
                alert(this.name);
            },
            checkboxClick: ,
            hide: ,
            legendItemClick: ,
            mouseOver: ,
            mouseOut: ,
            show:
            },
            id: null,
            lineWidth: 20,
            marker: {  //圖例說明上的標誌
            enabled: false
            },
            point: {     //圖上的數據點(這個在線形圖可能就直觀)
            events: {
                click: function() 
                {
                alert(this.y);
                },
                mouseOver: ,
                mouseOut: ,
                remove: ,
                select: ,
                unselect: ,
                update:
                }
            },
            pointStart: 0,     //顯示圖數據點開始值
            pointInterval: 1,  //顯示圖數據點的間隔
            selected: false,
            shadow: true,
            showCheckbox: true,  //是否顯示(圖例說明的)複選框
            showInLegend: false, //是否顯示圖例說明
            stacking: 'percent', //是否堆積???
            states: 
            {
                            hover: 
                {
                                brightness: 0.1,
                                enabled: true,    //圖上的數據點標誌是否顯示
                                lineWidth: 2,    //沒看出效果
                                marker: 
                {
                                    states: ,
                                    enabled: true,         //數據點標誌是否顯示
                                    fillColor: null,       //數據點標誌填充的顏色
                                    lineColor: "#FFFFFF",  //數據點標誌線的顏色
                                    lineWidth: 0,          //數據點標誌線的大小
                                    radius: 45,            //數據點標誌半徑
                                    symbol: 'triangle'//'url(http://highcharts.com/demo/gfx/sun.png)' //數據點標誌形狀(triangle三角形,或者用圖片等等)
                                }
                            }
                     },
             stickyTracking: true,  //軌道粘性 (例如線圖,若是這個設置爲否認,那就必須點到數據點纔有反應)
             visible: true,         //設置爲false就不顯示圖
             zIndex: null         
    },

相關文章
相關標籤/搜索