`
zhanghong2q
  • 浏览: 3625 次
社区版块
存档分类
最新评论

highcharts

阅读更多

      最近项目所需画图,觉得highcharts插件是引用纯js构造,如何从后台取值传到前端页面展示。项目框架:spring mvc

如下所示:(曲线图)

 

在servlet-context.xml中需配置将对象转化成json格式的数据转化到前端页面展示:

<bean

class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

<bean

class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

<property name="messageConverters">

<list>

<ref bean="mappingJacksonHttpMessageConverter" />

</list>

</property>

</bean>

<bean id="mappingJacksonHttpMessageConverter"

class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">

<property name="supportedMediaTypes">

<list>

<value>text/html;charset=UTF-8</value>

</list>

</property>

</bean>

 

然后在collertor中得到后端数据:

@RequestMapping("/getData.json")

@ResponseBody

public Object getChartData(String type, HttpServletRequest request,

HttpServletResponse response) throws Exception {

//判断类型

 

String managerId = (String) request.getSession().getAttribute("managerId");

Long lo = null;

try {

if (managerId != null) {

lo = new Long(managerId);

}

} catch (Exception e) {

 

}

 

if (lo == null) {

lo = 0L;

}

 

if ("WAS.UsedMem".equals(type)) {

List list = getWasDataService.produceGraphData(lo, "WASJVM");

 

List<List<Long>> resultList = new ArrayList<List<Long>>();

if (list != null && list.size() > 0) {

for (int index = 0; index < list.size(); index++) {

Map map = (Map) list.get(index);

BigInteger collectionTime = (BigInteger) map.get("COLLECTIONTIME");

Integer usedMem = (Integer) map.get("USEDMEMORY");

List<Long> l = new ArrayList<Long>();

l.add(collectionTime.longValue());

l.add(usedMem.longValue());

resultList.add(l);

}

}

 

return resultList;

}

 

return null;

 

}

从数据库中得到数据,并保存到json格式的数据中。

前端:

 

<script>

$(function() {

 Highcharts.setOptions({

  global: {

   useUTC: false

  }

 }); 

 

 usedMemChart =  new Highcharts.Chart({

  chart: {

   renderTo: 'container',

   type: 'spline',

   marginRight: 1,

   events: {

             load: requestData

         }

  },

  title: {

   text: '最近一小时内存'    

  },

  xAxis: {

   type: 'datetime'    

  },

  yAxis: {

   title: {

    text: '已用内存(KB)'

   },

   labels: {

    formatter: function() {

     return this.value;

    },

    style: {

     color: '#4572A7'

    }

   },

   plotLines: [{

    value: 0,

    width: 1,

    color: '#069B14'

   }]

  },

  tooltip: {

   formatter: function() {

    return '<b>'+ this.series.name +'</b><br/>'+

     Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) +'<br/>'+

     Highcharts.numberFormat(this.y, 2);

   }

  },

  legend: {

   enabled: false

  },

  exporting: {

   enabled: false

  },

  plotOptions: {

   spline: {

    lineWidth: 4,

    states: {

     hover: {

      lineWidth: 5

     }

    },

    marker: {

     enabled: false,

     states: {

      hover: {

       enabled: true,

       symbol: 'circle',

       radius: 5,

       lineWidth: 1

      }

     }

    },

    pointInterval: 300000,

    pointStart: (new Date()).getTime() - 3600000 //一个小时

   }     

  },

  series: [{

   name: '内存',

   data: []

  }]

 });

 

});

 

 

function requestData() {

 $.ajax({

     url: 'getData.json',

     data: {"type":"WAS.UsedMem"},

  type: 'post',

     dataType: 'json',

     success: function(data) {

         var series = usedMemChart.series[0];

         series.setData(data);  

 

         // call it again after one second

         setInterval(requestData, 300000);   

     },

     error: function(xhr) {

       // call it again after one second

         setInterval(requestData, 120000);

     },

     cache: false

   });

 }


 

</script>

 

引用的requestData这个方式是自动刷新,且从后台得到数据传给前端页面展示。

 

  画图工具highcharts api:

http://www.highcharts.com/ref/#plotOptions-pie

 

分享到:
评论
1 楼 hzxlb910 2013-03-04  
能把这个demo打包发给我吗,谢谢

1728616187@qq.com

相关推荐

    Highcharts-9.3.2.zip

    标题中的"Highcharts-9.3.2.zip"表明这是一个包含Highcharts库版本9.3.2的压缩文件,开发者可以下载并解压来使用这个版本的库。 在描述中提到了几个关键点,首先,Highcharts兼容IE6及以上的浏览器,这在现今许多...

    Highcharts最全示例程序

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它能够帮助开发者轻松创建各种动态、交互式的图表,如折线图、柱状图、饼图、散点图等。本压缩包"Highcharts-2.3.2"包含了Highcharts 2.3.2版本的源码和...

    highcharts中文帮助文档(API)

    Highcharts是一个功能丰富的JavaScript图表库,其文档在中文社区中受到了广泛的关注。Highcharts支持多种图表类型,包括曲线图、区域图、柱状图、饼状图、散状点图以及综合图表。作为图表库中的佼佼者,Highcharts...

    highcharts示例代码(官方例子)

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它能够帮助开发者轻松创建出各种美观且功能丰富的图表,包括折线图、柱状图、饼图、散点图等。这款库以其易用性、灵活性和高性能著称,适用于数据可视化的...

    3D图表Highcharts(3D)

    Highcharts是一款强大的JavaScript图表库,它能够帮助开发者创建出各种精美、交互性强的2D和3D图表。在“3D图表Highcharts”这个主题中,我们将深入探讨如何利用Highcharts来实现三维图表的制作,以及它在数据可视化...

    Highcharts图表库 v9.3.3.zip

    Highcharts图表库是一款广泛应用于网页数据可视化的JavaScript库,它提供了丰富的图表类型,如柱状图、折线图、饼图、散点图等,帮助开发者轻松创建交互式的图表。v9.3.3是Highcharts的一个更新版本,带来了更多功能...

    highcharts的js文件

    Highcharts是一款强大的JavaScript图表库,用于在Web应用中创建各种数据可视化效果,如柱状图、曲线图、饼图等。这个压缩包包含的是Highcharts的JavaScript文件,这些文件是生成图表所必需的。 首先,Highcharts的...

    highcharts去掉水印的方法

    ### Highcharts去掉水印的方法 在使用Highcharts这一强大的JavaScript图表库时,有时我们可能会遇到一个默认设置:图表上带有官方的水印标志。对于一些商业应用或是希望提高图表美观度的需求来说,去除这些水印是...

    highcharts简单的饼图demo

    Highcharts是一款强大的JavaScript图表库,用于在Web上创建各种数据可视化图表,如柱状图、折线图、饼图等。在这个"highcharts简单的饼图demo"中,我们将深入探讨如何利用Highcharts来构建一个基本的饼图,并根据...

    网页图表Highcharts实践教程基础篇

    网页图表Highcharts实践教程基础篇主要涵盖了如何使用Highcharts库创建和定制各种图表,以便在网页上呈现数据。Highcharts是一款强大的JavaScript库,专为Web开发者设计,用于生成高质量的数据可视化图表。它支持...

    jquery Highcharts jquery Highcharts

    Highcharts是一款强大的JavaScript图表库,它能够为网页和应用程序提供丰富多样的数据可视化效果。基于jQuery库,Highcharts使得在Web页面上创建交互式图表变得简单易行。在这个压缩包中,很可能包含了Highcharts的...

    highcharts-zh_CN.js 文件下载

    Highcharts 是一款强大的JavaScript图表库,它用于在Web页面上创建各种交互式的图表,如折线图、柱状图、饼图等。Highcharts-ZH_CN.js是Highcharts的中文语言包,它提供了中文本地化的支持,使得图表的标题、图例、...

    Highcharts-7.2.1IE8好用.rar

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它支持创建各种类型的图表,包括但不限于柱状图、饼图、线图、散点图等。在"Highcharts-7.2.1IE8好用.rar"这个压缩包中,显然包含的是Highcharts的一个版本...

    highcharts图表插件(中文包和本地下载)

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它能够帮助开发者轻松创建各种类型的交互式图表,包括折线图、柱状图、饼图、散点图等,为数据可视化提供了强大的支持。本压缩包资源主要包含以下几个核心...

    Java和Highcharts实现折线图

    在这个场景中,我们将探讨如何使用Java和Highcharts这两个工具来实现一个动态的、交互式的折线图。Highcharts是一个流行的JavaScript库,专门用于创建高质量的图表,而Java则作为后端语言,负责处理数据并将其传递给...

    Highcharts

    Highcharts是一款强大的JavaScript图表库,它能够帮助开发者创建各种丰富的数据可视化效果,广泛应用于Web应用程序中。这款库以其易用性、灵活性和丰富的图表类型而备受赞誉。在Highcharts中,你可以选择不同的图表...

    highcharts好用的前端统计js

    Highcharts是一款广泛应用于前端开发中的JavaScript图表库,它以其易用性和灵活性著称,能够帮助开发者轻松创建出各种丰富的数据可视化效果。这个压缩包文件名"highChart"可能包含了Highcharts的相关示例代码或者...

    highcharts案例,附js,可以直接使用

    Highcharts是一款强大的JavaScript图表库,用于在Web页面上创建各种数据可视化效果,如饼图、柱状图、线图、散点图等。这个压缩包包含了一系列的Highcharts使用案例,对于前端开发者来说,是非常宝贵的参考资料。 ...

Global site tag (gtag.js) - Google Analytics