如何拼接FusionCharts的JSON格式的双轴图
1、问题背景
假如,项目中遇到这样一个问题:利用FusionCharts中的JSON格式拼接双轴图,并将JSON字符串转换成JSON对象传输到前台,在页面上展示出来。
2、设计源码
/** * * @title:DoubleYaxis.java * @Package:com.you.utils * @Description:<h3>一句话描述功能</h3> * @author:游海东 * @date:2015-3-25下午8:06:57 * @version V1.0 * */ package com.you.utils; import net.sf.json.JSONObject; /** * * 项目名称:SSH * 类名称:DoubleYaxis * 类描述: * 创建人:游海东 * 创建时间:2015-3-25下午8:06:57 * 修改人:游海东 * 修改时间:2015-3-25下午8:06:57 * 修改备注: * @version V1.0 * */ public class DoubleYaxis { /** * * 方法名:transform * 方法类型:ChartUtils * 参数:@param str * 参数:@return * @return:StringBuilder * @throws */ public static StringBuilder transform(String str) { return new StringBuilder(str); } /** * * 方法名:buildJson * 方法类型:DoubleYaxis * 参数:@return * @return :JSONObject * @throws */ public static JSONObject buildJson() { StringBuilder chartHead = new StringBuilder(); StringBuilder xAxis = new StringBuilder(); StringBuilder yAxisOne = new StringBuilder(); StringBuilder yAxisTwo = new StringBuilder(); //FusionChart中的chart chartHead.append("{'chart':{'caption':'2014年销售水平分布','xaxisname':'月份','yaxisname':'销量','showvalues':'0'},'categories':[{'category':["); for(int i=1;i<=12;i++) { xAxis.append("{'label':'").append(i).append("月'},"); } yAxisOne.append("'dataset':[{'seriesname':'苹果','data':["); yAxisTwo.append("{'seriesname':'橘子','parentyaxis':'S','data':["); for(int j=1;j<=12;j++) { yAxisOne.append("{'value':'").append(j*100).append("'},"); yAxisTwo.append("{'value':'").append(j*200).append("'},"); } chartHead.append(xAxis.toString().substring(0, xAxis.toString().length()-1)) .append("]}],") .append(yAxisOne.toString().substring(0, yAxisOne.length()-1)) .append("]},") .append(yAxisTwo.toString().substring(0, yAxisTwo.length()-1)) .append("]}]}"); JSONObject jsonobject = JSONObject.fromObject(chartHead.toString()); return jsonobject; } /** * * 方法名:main * 方法类型:DoubleYaxis * 参数:@param args * @return :void * @throws */ public static void main(String[] args) { System.out.println("FusionChart多系列图之双轴图:"+buildJson()); } }
运行结果:
FusionChart多系列图之双轴图:{"chart":{"caption":"2014年销售分布","xaxisname":"月份","yaxisname":"销量","showvalues":"0"},"categories":[{"category":[{"label":"1月"},{"label":"2月"},{"label":"3月"},{"label":"4月"},{"label":"5月"},{"label":"6月"},{"label":"7月"},{"label":"8月"},{"label":"9月"},{"label":"10月"},{"label":"11月"},{"label":"12月"}]}],"dataset":[{"seriesname":"苹果","data":[{"value":"100"},{"value":"200"},{"value":"300"},{"value":"400"},{"value":"500"},{"value":"600"},{"value":"700"},{"value":"800"},{"value":"900"},{"value":"1000"},{"value":"1100"},{"value":"1200"}]},{"seriesname":"橘子","parentyaxis":"S","data":[{"value":"200"},{"value":"400"},{"value":"600"},{"value":"800"},{"value":"1000"},{"value":"1200"},{"value":"1400"},{"value":"1600"},{"value":"1800"},{"value":"2000"},{"value":"2200"},{"value":"2400"}]}]}
3、格式化后
{ "chart": { "caption": "2014年销售分布", "xaxisname": "销量", "yaxisname": "人数", "showvalues": "0" }, "categories": [ { "category": [ { "label": "1月" }, { "label": "2月" }, { "label": "3月" }, { "label": "4月" }, { "label": "5月" }, { "label": "6月" }, { "label": "7月" }, { "label": "8月" }, { "label": "9月" }, { "label": "10月" }, { "label": "11月" }, { "label": "12月" } ] } ], "dataset": [ { "seriesname": "苹果", "data": [ { "value": "100" }, { "value": "200" }, { "value": "300" }, { "value": "400" }, { "value": "500" }, { "value": "600" }, { "value": "700" }, { "value": "800" }, { "value": "900" }, { "value": "1000" }, { "value": "1100" }, { "value": "1200" } ] }, { "seriesname": "橘子", "parentyaxis": "S", "data": [ { "value": "200" }, { "value": "400" }, { "value": "600" }, { "value": "800" }, { "value": "1000" }, { "value": "1200" }, { "value": "1400" }, { "value": "1600" }, { "value": "1800" }, { "value": "2000" }, { "value": "2200" }, { "value": "2400" } ] } ] }
如何拼接FusionCharts的JSON格式的双轴图的更多相关文章
- pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))
//2019.07.23 1.箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据 其中的一 ...
- HighCharts之2D柱状图、折线图的组合双轴图
HighCharts之2D柱状图.折线图的组合双轴图 1.实例源码 DoubleAxis.html: <!DOCTYPE html> <html> <head> & ...
- http接口调用,传递json格式带双引号问题
springmvc 配置好会自动转换json格式,只要配置他转格式之前,在转次String类型就好
- Echarts双轴图的配置.
在series中的数据组加个属性,yAxisIndex: 1,表示第二个数据用的是第二个y轴,不加这个属性的话都是默认0,即第一个属性,再配置yAxis的值第一个为左侧坐标轴,右册坐标轴为第二个配置参 ...
- python字典转化成json格式。JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换
遇到问题:进行Webservice接口测试时,对接口入参数据进行了处理,变成了dict格式,去进行接口请求报错. 需要转成成json格式,双引号去扩. 如下: 更改代码: # 在Python标准库的j ...
- Flex实现双轴条状图
1.问题背景 一般的,柱状图可以实现双轴图,但是如何实现双轴条状图? 2.实现实例 <?xml version="1.0" encoding="utf-8" ...
- Ajax请求ashx 返回 json 格式数据常见问题
问题:ashx 返回的字符串json格式,在前台ajax自动解析失败. 问题分析:经过排查,发现是拼接json时出现” ’ “单引号,jquery无法解析,用” “ “双引号才可以.例如: stri ...
- servlet与ajax数据交换(json格式)
JSON数据格式: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于的一个子集. JSON采用完全独 ...
- servlet中将值以json格式传入
详细连接https://blog.csdn.net/e_wsq/article/details/71038270$('#but_json_json').click(function(){ }; $.a ...
随机推荐
- 【OCR技术系列之三】大批量生成文字训练集
放假了,终于可以继续可以静下心写一写OCR方面的东西.上次谈到文字的切割,今天打算总结一下我们怎么得到用于训练的文字数据集.如果是想训练一个手写体识别的模型,用一些前人收集好的手写文字集就好了,比如中 ...
- get、post、put、delete请求方式
对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不需要用到PUT和DELETE. Jersey框架,实现了restful风格,常用的注解@GET.@POST.@PUT.@DELETE如 ...
- Python中什么时候使用生成器?
编者注:本文主要参考了<Python核心编程(第二版)> 说到生成器,先说说列表解析.列表解析可以动态创建列表. [expr for iter_var in iterable if con ...
- 似懂非懂的Comparable与Comparator
jdk1.8.0_41 一知半解写代码, 集合排序用个啥. 抄起键盘胡乱打, 似懂非懂最可怕. Comparable与Comparator都是用于集合的排序,对于大多数人来说Comparator可能略 ...
- Hadoop源码学习之HDFS(一)
Hadoop的HDFS可以分为NameNode与DataNode,NameNode存储所有DataNode中数据的元数据信息.而DataNode负责存储真正的数据(数据块)信息以及数据块的ID. Na ...
- git添加本地仓库与远程仓库连接
在本地建立一个文件夹,需要与远程git仓库进行连接,具体方法: <1>首先进入所在文件目录执行: git init 初始化git,紧接着 git add . git commit -m ...
- [bzoj2286][Sdoi 2011]消耗战
[bzoj2286]消耗战 标签: 虚树 DP 题目链接 题解 很容易找出\(O(mn)\)的做法. 只需要每次都dp一遍. 但是m和n是同阶的,所以这样肯定会T的. 注意到dp的时候有很多节点是不需 ...
- 在C#中几种常见数组复制方法的效率对比
原文是在http://blog.csdn.net/jiangzhanchang/article/details/9998229 看到的,本文在原文基础上增加了新的方法,并对多种数据类型做了更全面的对比 ...
- Android查缺补漏(IPC篇)-- 进程间通讯基础知识热身
本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8479282.html 在Android中进程间通信是比较难的一部分,同时又非常 ...
- RHEL6误安装RHEL7的包导致glibc被升级后系统崩溃处理方法
RHEL6误使用了RHEL7的光盘源,安装了某个RPM包之后,导致glibc被升级,进而导致系统崩溃. [root@rhel65 ~]# yum install ftp Loaded plugin ...