也是对最近几天的折线图搞得烦心,看了好多前辈的文章,也总结了一下。

1.先看后台程序,这是我模拟的一些参数 就是一个字符串。没啥好说的

 public ActionResult Index2()
{
string[] key = { "2017-08-01", "2017-08-02", "2017-08-03", "2017-08-04", "2017-08-05", "2017-08-06", "2017-08-07", "2017-08-08", "2017-08-09", "2017-08-10" };
double[] V1 = { 4.3, 1.2, 1.3, 1.6, 7.6, 5.9, 9.0, , , };
double[] V2 = { 5.3, 1.9, 1.3, 1.4, 7.6, 0.4, 9.0, , , };
string json = "{\"rows\":[";
for (int i = ; i < key.Count(); i++)
{
json += "{\"atrname\":\"" + key[i] + "\",\"clickvalue\":\"" + V1[i] + "\",\"impvalue\":\"" + V2[i] + "\"},";
}
json = json.TrimEnd(',');
json += "]}";
return Content(json);
}

2.主要是前台的数据绑定

第一种方式:

1.其中头文件中加了 no-data-to-display.src.js  这个文件,表示如果在没有数据的时候会自动显示  暂无数据

  lang: { noData: "暂无数据" },
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
} 2.请注意看现在的 series: [{}] 的值是这样的,因为如果是[],这样就不会有数据显示 用这种方式显示数据的时候
//这种方式必须默认有数据的时候才能显示
oOptions.series[0].name = "第三条";
oOptions.series[0].data = clickvalue;
3.var oSeries = {
                //    name: "第二条",
// data: clickvalue
//};
//oChart.addSeries(oSeries); 用这种方式 赋值的时候 series: [{}] 这样的时候,虽然显示一条折线图,但是右边会显示一个折线的表示。series:[] 这样就不会显示
用这种方式赋值的时候//oChart = new Highcharts.Chart(oOptions); 要去掉 或者 放到上面执行。
4.第三种方式 series:[] 或者series:[{}]都可以实现
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/charts/highcharts/exporting.js"></script>
<script src="~/charts/highcharts/highcharts.js"></script>
<script src="~/charts/highcharts/no-data-to-display.src.js"></script>
<script src="~/charts/highcharts/highcharts_jquery-1.8.3.min.js"></script>
</head>
<body>
<div id="container"> </div>
</body>
</html>
<script type="text/javascript">
var oChart = null;
var oOptions = {
chart: {
renderTo: 'container', //设置显示的页面块
type: 'line'
},
//图标标题
title: {},
credits: { enabled: false },
tooltip: { shared: true },
lang: { noData: "暂无数据" },
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth:
},
//x轴
xAxis: { title: {} },
//y轴
yAxis: { title: {} },
//数据列
series: []
};
$(document).ready(function () {
oChart = new Highcharts.Chart(oOptions);
requestData();
});
//新的折线图
function requestData() {
oChart.showLoading();
$.ajax({
url: '/Home/Index2',
type: 'POST',
dataType: 'json',
async: false, //同步处理后面才能处理新添加的series
data: null,
success: function (rntData) {
var xatrnames = [];
var clickvalue = [];
var impvalue = [];
for (var i = ; i < rntData.rows.length; i++) {
xatrnames.push([
rntData.rows[i].atrname
]);
clickvalue.push([
parseFloat(rntData.rows[i].clickvalue)
]);
impvalue.push([
parseFloat(rntData.rows[i].impvalue)
]);
}
alert(xatrnames + clickvalue);
oOptions.title.text = "标题";
oOptions.xAxis.title.text = "x轴标题";
oOptions.xAxis.categories = xatrnames;//x轴数据 //这种方式必须默认有数据的时候才能显示
oOptions.series[].name = "第三条";
oOptions.series[].data = clickvalue;
//必须有2条线的时候才会显示
oOptions.series[].name = "第三条";
oOptions.series[].data = clickvalue; //这种方式为添加,每次只能添加一条
//var oSeries = {
// name: "第二条",
// data: clickvalue
//};
//oChart.addSeries(oSeries); //此处可以用循环写入也可以的 循环赋值多个可以从0开始
//oOptions.series = new Array();
//oOptions.series[0] = new Object();
//oOptions.series[0].name = "点击";
//oOptions.series[0].data = clickvalue; //oOptions.series[1] = new Object();
//oOptions.series[1].name = "展示";
//oOptions.series[1].data = impvalue; //第二种方式的时候要去掉,或者放到上面先执行
//oChart = new Highcharts.Chart(oOptions);
}, error: function (jqXHR, textStatus, errorThrown) { }
});
oChart.hideLoading();
} </script>

后面我会把我的demo放上去 希望有错误的地方大家可以指正我,共同进步

下载链接:http://pan.baidu.com/s/1jHYFjE2

 

HighChat 动态绑定数据(二)的更多相关文章

  1. HighChat 动态绑定数据记录

    最近刚开始做图形操作,纠结了一上午,highchat 动态绑定数据这块一直不知道怎么绑定,后来多次尝试,发现 1.x轴的数据是个数组格式,我从后台传到前台的时候,js中用数组进行处理数据,然后赋值到c ...

  2. HighChat动态绑定数据 数据后台绑定(四)

    后台绑定数据,直接返回json数据 IList<SummaryHour> adHourData = summarybll.FindList(str); List<, , , , , ...

  3. HighChat动态绑定数据 数据后台绑定(三)

    今天看了几位大佬的博客,学到了一些,现在分享一下,也作为以后的参考 不多说看代码 1.后台代码 public ActionResult Ajax2() { ReportData reportData ...

  4. dev checkedlistbox动态绑定数据

    最近在做项目的时候遇到个问题.用checkedlistbox控件绑定数据.在这里稍微总结一下. 其实动态绑定数据有两种方法下面说一下 1.通过数据源 DataTable dt=new DataTabl ...

  5. eCharts 折线图,动态绑定数据不更新图表的问题,

    官方文档 : http://echarts.baidu.com/tutorial.html npm install echarts --save let lineChart = echarts.ini ...

  6. bootstrap selectpicker 通过代码指定选中值 BootStrap selectpicker后台动态绑定数据 selectpicker 获取选中option的属性或者值

    bootstrap-select使用 bootstrap selectpicker 通过代码指定选中值 $('#subjectno').selectpicker('val',(row.subjectn ...

  7. bootstrap select下拉框模糊搜索和动态绑定数据解决方法

    此方法适合后台一次性返回所有数据好了废话不多说直接上代码: <!DOCTYPE html><html><head> <title>Bootstrap-s ...

  8. (转).net控件dropdownlist动态绑定数据

    DropDownList控件的使用(数据绑定)(.net学习笔记二)(2006-10-12 07:28:49) 转载   分类:.net学习笔记 一.在页面初始化时候将集合绑定到DropDownLis ...

  9. .net控件dropdownlist动态绑定数据 ----转

    DropDownList控件的使用(数据绑定)(.net学习笔记二) 一.在页面初始化时候将集合绑定到DropDownListpublic void Page_Load(Object src.Even ...

随机推荐

  1. AssetBundleMaster_ReadMe_CN

    在开始使用之前, 建议先导入到一个空的工程里, 通过ReadMe的一步步引导使你对整个框架以及文件结构进行熟悉, 之后再考虑导入到现有工程中使用, 完整看完教程大概需要2个小时左右. 先看看文件夹结构 ...

  2. 网络编程socket模块subprocess模块 粘包的解决

    什么是socket? tcp 可靠地面向连接协议 udp 不可靠的,无连接的服务,传送效率高

  3. JS三座大山再学习 ---- 作用域和闭包

    本文已发布在西瓜君的个人博客,原文传送门 作用域 JS中有两种作用域:全局作用域|局部作用域 栗子1 console.log(name); //undefined var name = '波妞'; v ...

  4. 初始v4l2(六)-------根据虚拟驱动vivi的使用彻底分析摄像头驱动

    前面的几篇文章已经分析了v4l2的框架,对框架的分析是比较粗浅的,能基本清楚函数之间的调用过程.但是很多内容并没有分析,比如说里面有很多ioctl,并没有分析哪些ioctl是必须的,也没有分析如何从应 ...

  5. CentOS最小化安装后找不到ifconfig命令

    1.ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息, 可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令, 这时候你进入终端,运 ...

  6. day5_configparser模块

    第一种情况:# 配置文件baidu.ini和当前文件在同一级目录: import configparser conf_read = configparser.ConfigParser() conf_r ...

  7. LG2530 「SHOI2001」化工厂装箱员 高维DP+记忆化搜索

    问题描述 LG2530 题解 设\(opt[i][a][b][c][d]\)代表装到第\(i\)个后,第\(1,2,3\)手上分别还剩\(a,b,c\)个的最小操作数. 记忆化搜索即可. 启示:如果状 ...

  8. [LeetCode] 252. Meeting Rooms 会议室

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  9. oracle--ORA-27125

    一,问题描述 ORA-27125 unable to create shared memory segment 二,问题解决 查看系统的oracleid号 [root@dgwxpdb ~]# id o ...

  10. SpringBoot集成Spring Security(7)——认证流程

    文章目录 一.认证流程 二.多个请求共享认证信息 三.获取用户认证信息 在前面的六章中,介绍了 Spring Security 的基础使用,在继续深入向下的学习前,有必要理解清楚 Spring Sec ...