一、引入highcharts的model
package com.duowan.gas.common.model; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public class HighCharts { // 图表在页面上显示的宽度 private int width; // 图表在页面上显示的高度 private int height; // 图表名称 private String title; // 横坐标名称 private String xTitle; // 纵坐标名称 private String yTitle; // 图表类型(分为七种) private String chartType; // x轴字段 private String x; // y轴字段 <字段名,图注> private LinkedHashMap<String,String> yFieldMap; // List<bean> 数据集 private List<? extends Object> dataList; public static class Ser { private String y; private String title; public Ser(String y, String title) { this.y = y; this.title = title; } public String getY() { return y; } public void setY(String y) { this.y = y; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } // 把yFieldMap转化成数组形式 public Object[] getSers() { List<Ser> sers = new ArrayList<Ser>(); for(Map.Entry<String, String> entry : yFieldMap.entrySet()){ Ser ser = new Ser(entry.getKey(), entry.getValue()); sers.add(ser); } return sers.toArray(); } // 图表类型 public static enum ChartType { LINE("line", "折线图"), COLUMN("column", "纵向条形图"), BAR("bar", "横向条形图"), PIE("pie", "饼形图"), SCATTER("scatter", "散播点图 "), AREA("area", "区域折线图 "), AREASPLINE("areaspline", "区域曲线图"); private String value; private String desc; private ChartType(String value, String desc) { this.value = value; this.desc = desc; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } } public LinkedHashMap<String, String> getyFieldMap() { return yFieldMap; } public void setyFieldMap(LinkedHashMap<String, String> yFieldMap) { this.yFieldMap = yFieldMap; } public String getX() { return x; } public void setX(String x) { this.x = x; } public List<? extends Object> getDataList() { return dataList; } public void setDataList(List<? extends Object> dataList) { this.dataList = dataList; } public int getWidth() { return width; } public void setWidth(int width) { this.width = width; } public int getHeight() { return height; } public void setHeight(int height) { this.height = height; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getxTitle() { return xTitle; } public void setxTitle(String xTitle) { this.xTitle = xTitle; } public String getyTitle() { return yTitle; } public void setyTitle(String yTitle) { this.yTitle = yTitle; } public String getChartType() { return chartType; } public void setChartType(String chartType) { this.chartType = chartType; } }
二、引入highcharts js文件 (见附件)
三、前台展示
主要调用方法:highchartsUtil.chart(div的ID,后台传回的json数据);
<div id="container"></div> <script src="/js/highcharts/jquery.min.js"></script> <script src="/js/highcharts/highcharts.js"></script> <script src="/js/highcharts/modules/exporting.js"></script> <script src="/js/highcharts/highchartsUtil.js"></script> <script type="text/javascript"> $(function () { highchartsUtil.chart("container",${jsonStr}); }); </script>
四、后台数据处理
假设有一个TestBean,有字段如下: private String date; private double value; private double value2;
// 取得的List<bean>数据集 List<TestBean> listBeans = xxx; // 可选属性 HighCharts highCharts = new HighCharts(); highCharts.setTitle("title"); highCharts.setWidth(900); highCharts.setHeight(500); highCharts.setxTitle("xTitle"); highCharts.setyTitle("yTitle"); // 必填属性 highCharts.setChartType(HighCharts.ChartType.LINE.getValue()); //不同图表只需要修改这里 highCharts.setX("date"); // 指定x轴字段 LinkedHashMap<String,String> yFieldMap = new LinkedHashMap<String,String>(); // y轴的map<y轴的字段,y轴的图注>,多条线只需要多put值 yFieldMap.put("value", "图注一"); yFieldMap.put("value2", "图注二"); highCharts.setyFieldMap(yFieldMap); highCharts.setDataList(listBeans); ObjectMapper objectMapper = new ObjectMapper(); String jsonStr = objectMapper.writeValueAsString(highCharts); model.put("jsonStr", jsonStr); return "index";
相关推荐
**Highcharts封装** Highcharts是一款基于JavaScript的开源图表库,用于在Web页面上创建各种交互式的图表,如折线图、柱状图、饼图、散点图等。它提供了丰富的自定义选项,使得开发者可以轻松地根据项目需求定制...
highcharts 半封装工具类 测试用待完善 Highcharts 是一个用纯JavaScript编写的一个图表库。 Highcharts 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表 Highcharts 免费提供给个人学习、个人网站和非...
HighCharts工具封装是一种技术手段,用于简化和优化使用HighCharts库创建图表的过程。HighCharts是一个强大的JavaScript库,它允许开发者在网页上创建交互式的图表,包括折线图、柱状图、饼图等多种类型的图表。封装...
在"基于highcharts封装了一个简单易用的报表统计"这个项目中,开发者通过深入理解和应用Highcharts的功能,构建了一个方便、直观的数据报表工具。下面我们将详细探讨Highcharts的核心特性以及如何进行报表统计的封装...
在"highcharts的例子和封装"这个主题中,我们可以深入探讨Highcharts的使用方法以及如何进行封装,以便在项目中更高效地应用。 首先,`test1.html`很可能是包含Highcharts图表展示的一个示例网页。在HTML文件中,...
理解并灵活运用这些方法,可以使你在使用Highcharts时更加高效和便捷。 请注意,以上代码示例没有实际的运行环境,你需要将它们嵌入到你的HTML和JavaScript环境中,配合相应的DOM元素和数据才能正常工作。在实际...
实在没法发到博客里了,太长了。提供给大家下载。封装类里有两个方法。
Swift-AAChartKit是一个强大的图表绘制框架,它将流行的前端图表库Highcharts的功能进行了封装,使得在iOS应用中实现各种复杂的图表变得更加便捷。这个库由AAInfotech开发,提供了丰富的图表类型,包括折线图、柱状...
3. **使用ExtJS的Chart组件**: ExtJS提供了一个Chart组件,它是Highcharts的封装,可以直接在ExtJS的应用中使用Highcharts图表。将之前创建的Highcharts配置对象传递给Chart组件。 4. **数据绑定**: 当Store接收到...
实在没法发到博客里了,太长了。提供给大家下载。封装类里有两个方法。
在.NET环境中,为了方便与C#、VB.NET等语言进行集成,有人封装了`HighCharts.dll`,使得.NET开发者可以更方便地利用HighCharts的功能。 `HighCharts.dll`是这个封装的核心组件,它是一个动态链接库,包含了.NET框架...
以下是一个关于如何在Java中使用Highcharts的详细讲解。 首先,你需要了解Highcharts的基本结构。Highcharts的核心是JSON格式的配置对象,这个对象包含了图表的所有设置,如类型、数据、标题、颜色等。在Java中,你...
在这个例子中,我们有一个名为"laravel-highcharts-master"的压缩包,这通常包含一个已经封装好的Laravel服务提供者和一些帮助类,使得在Laravel项目中使用Highcharts变得更加简单。通常,我们需要将这个包解压并将...
通常,PHP会通过SQL查询与数据库进行交互,比如在`getHighchartData.php`这个文件中,可能包含处理数据库连接、执行查询和封装数据到JSON格式的代码,以便Highcharts能够解析。例如,它可能会使用像`mysqli`或`PDO`...
读完我博客的可以在这里下载封装js文件,实在太多,没法发到博客中。
一个简单,快速的Vue 3组件,用于呈现使用composition API编写的Highcharts.js图表。 演示 最低要求 Vue@3.0.0 Highcharts@8.0.0(较旧的版本可能有效,但未经测试) Vue和Highcharts未与模块捆绑在一起,...
这里,`HighchartsExport`是一个假设存在的类,它封装了Highcharts服务器端的导出接口。实际应用中,你需要根据所使用的Highcharts服务器端组件的具体API来编写这段代码。 为了实现本地导出,你还需要处理用户点击...
这个类通常会封装JavaScript到服务器端的调用,例如通过PhantomJS或者Headless Chrome这样的无头浏览器,因为HighCharts图表是基于浏览器的JavaScript渲染的。PhantomJS可以模拟浏览器环境,执行JavaScript并捕获...