博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HighCharts笔记之: Bar Chart
阅读量:5110 次
发布时间:2019-06-13

本文共 3104 字,大约阅读时间需要 10 分钟。

最近需要做一些Web图标,研究了几个开源的第三方工具后,最后决定使用HighCharts开发:

Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。目前HighCharts支持 的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。 HighCharts界面美观,由于使用JavaScript编写,所以不需要像Flash和Java那样需要插件才可以运行,而且运行速度快。另外 HighCharts还有很好的兼容性,能够完美支持当前大多数浏览器。

HighCharts 可以通过JSON 数据格式与后台交互,从而生成动态的图表。但是在官方的文档中关于 JSON 数据格式的资料很少,经过一下午的调试终于找到了关于柱状图和饼图的数据格式,在这里记录一下,以备后续的查询:

柱状图:

JSON Data Format

[  {      "data":[0,0,0,0,0,0,0,0,9,0,0,1],      "name":"Actual"  },  {      "data":[1,1,1,4,1,1,1,1,12,1,3,6],      "name":"Target"  }]
J  

Javascript Code

   

HTML Code

   

Java Code - action

public ActionForward barChart(ActionMapping mapping, ActionForm form,          HttpServletRequest request, HttpServletResponse response)          throws IOException {      request.setCharacterEncoding("UTF-8");      response.setCharacterEncoding("UTF-8");      response.setContentType("application/json;charset=utf-8");      List
resultList = getBarData(); JSONArray json = new JSONArray(resultList); String result = json.toString();// 转成json数据 PrintWriter out = response.getWriter(); out.write(result); out.flush(); out.close(); return null; } private List
getBarData() { BlueCommunity target = dao.getLatestTarget(); BlueCommunity actual = dao.sumLatestActual(); List
resultList = new ArrayList
(); if (actual != null) { resultList.add(new Bar("Actual", actual.getValueArray())); } else { resultList.add(new Bar("Actual", new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 })); } resultList.add(new Bar("Target", target.getValueArray())); return resultList; }
   

Java Code - Bar class

public class Bar {  private static final long serialVersionUID = 6461863786317563773L;  private String name;  private int[] data;  public Bar() {  };  public Bar(String name, int[] data) {      this.name = name;      this.data = data;  }  public String getName() {      return name;  }  public void setName(String name) {      this.name = name;  }  public int[] getData() {      return data;  }  public void setData(int[] data) {      this.data = data;  }}

Java Code - Community class

public class Community implements Serializable {  private static final long serialVersionUID = -7516165631503337884L;  private int id;  private int version;  private String remark;  private int activity_entry;  private int activity_update;  private int blog_entry;  private int blog_comments;  private int feed;  private int bookmark;  private int file;  private int forum_topic;  private int forum_reply;  private int wiki;  private int iRam;  private int liquid;  private int user;  ...  getters;  setters;  ...  public int[] getValueArray() {      int[] array = { activity_entry, activity_update, blog_entry,              blog_comments, feed, bookmark, file, forum_topic, forum_reply,              wiki, iRam, liquid };      return array;  }}

转载于:https://www.cnblogs.com/zjun/archive/2013/03/29/2988537.html

你可能感兴趣的文章
Spring MVC @ResponseBody返回中文字符串乱码问题
查看>>
用户空间与内核空间,进程上下文与中断上下文[总结]
查看>>
JS 中的跨域请求
查看>>
JAVA开发环境搭建
查看>>
mysql基础语句
查看>>
Oracle中的rownum不能使用大于>的问题
查看>>
cassandra vs mongo (1)存储引擎
查看>>
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
遍历Map对象
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
#Leetcode# 209. Minimum Size Subarray Sum
查看>>
SDN第四次作业
查看>>
DM8168 DVRRDK软件框架研究
查看>>
django迁移数据库错误
查看>>
yii 跳转页面
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
Dirichlet分布深入理解
查看>>
(转)Android之发送短信的两种方式
查看>>
字符串处理
查看>>