JQ图表(柱状图 、折线图)

1.引用highcharts js文件(http://api.highcharts.com/highcharts#series.xAxis

2.使用JSON数据

//创建图表 function CreateCharts(jsonData) {        var arrayCata = new Array();  //创建一个数组 X轴     var serieData = new Array();   //图形数组

//生成X轴的字段数组        var arrayXVlaue = new Array(); //生成X轴标题需要的数据列     var arrayXVlaueTemp = new Array();  //临时存放所有值字段     for (var p in jsonData.ClassItems)     {         arrayXVlaueTemp.push(jsonData.ClassItems[p].Value);     }        //arrayXVlaueTemp去重     arrayXVlaueTemp.sort();  //对数组排序     arrayXVlaue.push(arrayXVlaueTemp[0]);//将临时值列表第一项加入 生成X轴标题需要的数据列     for (var i = 1; i < arrayXVlaueTemp.length; i++)     {         if (arrayXVlaueTemp[i] != arrayXVlaue[arrayXVlaue.length - 1])  //数组中不存在         {             arrayXVlaue.push(arrayXVlaueTemp[i]);         }     }       //产生X轴数组     for (var p in jsonData.DataItem)     {         var cata="";           for (var i = 0; i < arrayXVlaue.length; i++)         {             cata = cata + jsonData.DataItem[p][arrayXVlaue[i]];         }         arrayCata.push(cata);     }         //图形数组  根据统计项生成图形     for (var p in jsonData.StatisticItems)     {         var serieItem = {   //初始化serieItem对象             name: ‘‘,             type: ‘‘,                        yAxis: 0,             zIndex: 0,             data: [],         }         var groupName = jsonData.StatisticItems[p].GroupName == null ? "" : jsonData.StatisticItems[p].GroupName;  //分组名         serieItem.name = groupName + jsonData.StatisticItems[p].Name;  //统计项名称         if (jsonData.StatisticItems[p].ChartType == "B")   //柱状图         {             serieItem.type = ‘column‘;   //图形类型                        serieItem.zIndex = 0;        //Z坐标         }         if (jsonData.StatisticItems[p].ChartType == "L")   //折线图         {             serieItem.type = ‘line‘;                       serieItem.zIndex = 1;         }         if (jsonData.StatisticItems[p].ReferY == "L")         {             serieItem.yAxis = 0;         //参照轴         }         if (jsonData.StatisticItems[p].ReferY == "R") {             serieItem.yAxis = 1;         }

//统计项数据               for (var k in jsonData.DataItem)  //循环数据表,获取统计列的数据存入数组         {             serieItem.data.push(jsonData.DataItem[k][jsonData.StatisticItems[p].Value]);         }

serieData.push(serieItem);     }

//创建图表     var chart;     chart = new Highcharts.Chart({         chart: {             renderTo: ‘Div‘ + jsonData.Bm,             marginRight: 60,                              },         title: {             text: jsonData.Name,   //标题             x: -20 //center         },         subtitle: {             text: ‘‘,             x: -20         },         xAxis: {             categories: arrayCata,             labels: {                 style: {                     writingMode: ‘tb-rl‘,   //文字竖排样式                                    },                 align:‘left‘,             },                    },         yAxis: [             {                 title: {                     text: ‘‘                 },                 gridLineWidth: 0,                 minorGridLineWidth: 0,                 minorTickPosition: ‘inside‘,                 minorTickWidth: 1,                 minorTickLength: 5,                 minorTickInterval: ‘auto‘,                 lineWidth: 1,                           },         {             title: {                 text: ‘‘             },             opposite: true,             gridLineWidth: 0,             minorGridLineWidth: 0,             minorTickPosition: ‘inside‘,             minorTickWidth: 1,             minorTickLength: 5,             minorTickInterval: ‘auto‘,             lineWidth: 1,         }         ],         tooltip: {             formatter: function () {                 return ‘<b>‘ + this.series.name + ‘</b><br/>‘ +                 this.x + ‘: ‘ + this.y;             }         },         legend: {             layout: ‘vertical‘,             align: ‘right‘,             verticalAlign: ‘top‘,             x: -85,             y: 20,             borderWidth: 0         },         series: serieData     }); }

3. 数据模型

#region 图表模型     /// <summary>     /// 图表模型     /// </summary>     public class ChartModel     {         /// <summary>         /// 编码         /// </summary>         public string Bm { get; set; }

/// <summary>         /// 名称         /// </summary>         public string Name { get; set; }

/// <summary>         /// 统计项编码         /// </summary>         public string StatisticItemBm { get; set; }

/// <summary>         /// 统计项列表         /// </summary>         public List<StatisticItem> StatisticItems { get; set; }

/// <summary>         /// 过滤项编码         /// </summary>         public string FilterItemBm { get; set; }

/// <summary>         /// 过滤项列表         /// </summary>         public List<FilterItem> FilterItems { get; set; }

/// <summary>         /// 分类项列表         /// </summary>         public List<ClassItem> ClassItems { get; set; }

/// <summary>         /// 数据编码(DataTable存储数据)         /// </summary>         public string DataItemBm { get; set; }

/// <summary>         /// 数据(DataTable存储数据)         /// </summary>         public DataTable DataItem { get; set; }     }     #endregion

#region 统计项     /// <summary>     /// 统计项     /// </summary>     public class StatisticItem     {         /// <summary>         /// 编号         /// </summary>         public int No { get; set; }

/// <summary>         /// 统计项的名称         /// </summary>         public string Name { get; set; }

/// <summary>         /// 统计项的值(即统计的列名)         /// </summary>         public string Value { get; set; }

/// <summary>         /// 分组名称(Null为没有分组)         /// </summary>         public string GroupName { get; set; }

/// <summary>         /// 图表类别(B:柱状图;L:折线图)         /// </summary>         public string ChartType { get; set; }

/// <summary>         /// 参照轴(L:左Y轴;R:右Y轴)         /// </summary>         public string ReferY { get; set; }            }     #endregion

#region 过滤项     /// <summary>     /// 过滤项     /// </summary>     public class FilterItem     {         /// <summary>         /// 编号         /// </summary>         public int No { get; set; }

/// <summary>         /// 过滤项名称         /// </summary>         public string Name { get; set; }

/// <summary>         /// 过滤项字段(字段名)         /// </summary>         public string Value { get; set; }

/// <summary>         /// 过滤项类型(ComboBox:单选;GridLookup:多选)         /// </summary>         public string Type { get; set; }

/// <summary>         /// 过滤条件(=:相等;in:包含)         /// </summary>         public string Term { get; set; }

/// <summary>         /// 默认值         /// </summary>         public string DefaultValue { get; set; }     }     #endregion

#region 分类项     /// <summary>     /// 分类项     /// </summary>     public class ClassItem     {         /// <summary>         /// 编号         /// </summary>         public int No { get; set; }

/// <summary>         /// 分类项名称         /// </summary>         public string Name { get; set; }

/// <summary>         /// 分类项值(分类的字段)         /// </summary>         public string Value { get; set; }

/// <summary>         /// 统计项编号         /// </summary>         public int StatisticItemNo { get; set; }     }     #endregion

#region 过滤项值绑定列表模型     /// <summary>     /// 过滤项值绑定列表模型     /// </summary>     public class BindModel     {         /// <summary>         /// 值         /// </summary>         public string BM { get; set; }

/// <summary>         /// 名称         /// </summary>         public string MC { get; set; }     }     #endregion

时间: 2025-01-07 13:22:57

JQ图表(柱状图 、折线图)的相关文章

JfreeChart在EXCEL中生成饼状图/柱状图/折线图

Maven <dependency> <groupId>jfree</groupId> <artifactId>jfreechart</artifactId> <version>1.0.13</version> </dependency> Java import org.apache.poi.ss.usermodel.Drawing; import org.apache.poi.ss.usermodel.She

C# 绘制统计图(柱状图, 折线图, 扇形图)

统计图形种类繁多, 有柱状图, 折线图, 扇形图等等, 而统计图形的绘制方法也有很多, 有Flash制作的统计图形, 有水晶报表生成统计图形, 有专门制图软件制作, 也有编程语言自己制作的:这里我们用就C# 制作三款最经典的统计图: 柱状图, 折线图和扇形图:既然是统计, 当然需要数据, 这里演示的数据存于Sql Server2000中, 三款统计图形都是动态生成. 其中柱状图我会附上制作步骤, 其他两款统计图直接附源码. 说明: 需求不一样, 统计图形绘制后的显示效果也不一样, 比如这里柱状图

C# 绘制统计图(柱状图, 折线图, 扇形图)【转载】

统计图形种类繁多, 有柱状图, 折线图, 扇形图等等, 而统计图形的绘制方法也有很多, 有Flash制作的统计图形, 有水晶报表生成统计图形, 有专门制图软件制作, 也有编程语言自己制作的:这里我们用就C# 制作三款最经典的统计图: 柱状图, 折线图和扇形图:既然是统计, 当然需要数据, 这里演示的数据存于Sql Server2000中, 三款统计图形都是动态生成. 其中柱状图我会附上制作步骤, 其他两款统计图直接附源码. 说明: 需求不一样, 统计图形绘制后的显示效果也不一样, 比如这里柱状图

iOS:使用贝塞尔曲线绘制图表(折线图、柱状图、饼状图)

1.介绍: UIBezierPath :画贝塞尔曲线的path类 UIBezierPath定义 : 贝赛尔曲线的每一个顶点都有两个控制点,用于控制在该顶点两侧的曲线的弧度. 曲线的定义有四个点:起始点.终止点(也称锚点)以及两个相互分离的中间点. 滑动两个中间点,贝塞尔曲线的形状会发生变化. UIBezierPath :对象是CGPathRef数据类型的封装,可以方便的让我们画出 矩形 . 椭圆 或者 直线和曲线的组合形状 初始化方法: + (instancetype)bezierPath; /

图表echarts折线图,柱状图,饼状图

总体就是有折线图相关图标的设置,x,y轴的设置,x,y轴或者数据加上单位的设置.饼状图如何默认显示几个数据中的某个数据 折线图:legend(小标题)中间默认是圆圈 改变成直线 在legend设置的时候就改变icon的形状 legend: { data:[ { name:'访问次数', icon:'line' }, { name:'访', icon:'line' }, { name:'访问', icon:'line' }, ], textStyle:{ color:'#fff' }, right

MPAndroidChart开源图表库---折线图

项目地址:点击打开,原文参考地址:点击打开 1. 将mpandroidchartlibrary-2-0-8.jar包copy到项目的libs中 2. 定义xml文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=

Android图表 MPAndroidChart折线图

1.介绍 MPAndroidChart GitHub地址 MPAndroidChart的强大之处就不在多说了,目前最新的版本是3.0.1,在新版本中很多方法都被弃用了,这个要注意一下,在网上查到的大多数资料都是关于旧版本的,今天来实现一下折线图,把过程记录下来,分享给大家. 效果图: 2.引入开源库 在项目根目录的build.gradle文件中加入如下代码 allprojects { repositories { maven { url "https://jitpack.io" } }

HighCharts之2D柱状图 折线图的组合多轴图

HighCharts之2D柱状图.折线图的组合多轴图 1.实例源码 SomeAxis.html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HighCharts 2D柱状图.折线图的组合多轴图</title> <script type="text/javascript" src="../scripts/

High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形图)控件

原文地址:https://www.codeproject.com/articles/14075/high-speed-charting-control 本文翻译在CodeProject上的介绍(主要还是谷歌翻译,看不太明白的地方,请对比原文,敬请原谅),方便自己和后面人的学习(花费了两天时间,希望是值得的).推荐一个前辈写的东西:TeeChart替代品,MFC下好用的高速绘图控件-(Hight-Speed Charting),自己也转载了这篇文章,在转载的文章中根据自己的实验修改了一些东西,修改