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格式的双轴图的更多相关文章

  1. pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))

    //2019.07.23 1.箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据 其中的一 ...

  2. HighCharts之2D柱状图、折线图的组合双轴图

    HighCharts之2D柱状图.折线图的组合双轴图 1.实例源码 DoubleAxis.html: <!DOCTYPE html> <html> <head> & ...

  3. http接口调用,传递json格式带双引号问题

    springmvc 配置好会自动转换json格式,只要配置他转格式之前,在转次String类型就好

  4. Echarts双轴图的配置.

    在series中的数据组加个属性,yAxisIndex: 1,表示第二个数据用的是第二个y轴,不加这个属性的话都是默认0,即第一个属性,再配置yAxis的值第一个为左侧坐标轴,右册坐标轴为第二个配置参 ...

  5. python字典转化成json格式。JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换

    遇到问题:进行Webservice接口测试时,对接口入参数据进行了处理,变成了dict格式,去进行接口请求报错. 需要转成成json格式,双引号去扩. 如下: 更改代码: # 在Python标准库的j ...

  6. Flex实现双轴条状图

    1.问题背景 一般的,柱状图可以实现双轴图,但是如何实现双轴条状图? 2.实现实例 <?xml version="1.0" encoding="utf-8" ...

  7. Ajax请求ashx 返回 json 格式数据常见问题

    问题:ashx 返回的字符串json格式,在前台ajax自动解析失败. 问题分析:经过排查,发现是拼接json时出现” ’  “单引号,jquery无法解析,用” “ “双引号才可以.例如: stri ...

  8. servlet与ajax数据交换(json格式)

    JSON数据格式: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于的一个子集. JSON采用完全独 ...

  9. servlet中将值以json格式传入

    详细连接https://blog.csdn.net/e_wsq/article/details/71038270$('#but_json_json').click(function(){ }; $.a ...

随机推荐

  1. 高通HAL层之Sensor HAL

    高通的HAL层其实分为两种,一种是直接从kernel这边报数据上来的,由sensor HAL层来监听,另一种是走ADSP的模式,HAL层是通过qmi的形式进行监听的: 走ADSP架构的可以看下面的博客 ...

  2. 安装golang的mongodb驱动mgo速记

    这里介绍的方法只适用于Centos平台,测试版本为centos 6.5 下载源码安装实在麻烦,这里采用比较简单的方法给GO安装mongodb驱动 安装mgo之前,需要先安装bzr yum -y ins ...

  3. ABP官方文档翻译 4.1 应用服务

    应用服务 IApplicationService接口 ApplicationService类 CrudService和AsyncCrudAppService类 简单的CRUD应用服务示例 自定义CRU ...

  4. Halcon一日一练:图像、变量实时更新

    某些场合,我们需要刷新图像来识别图像处理过程的差异性,便于调试判断问题和预测.Halcon提供了图像刷新操作,这些操作不会改变程序的最终处理结果. 例程: **实时刷新图像 dev_update_wi ...

  5. win7 MySQL Connector/Net 安装卸载问题

    问题1:卸载MySQL Connector Net 6.9.9 卸载程序无法卸载 方法:注册表搜索 MySQL Connector Net 6.9.9 全部删除 ******************* ...

  6. hdfs文件按修改时间下载

    应用于:对于不同用户创建的表目录,进行文件的下载,程序中执行hadoop cat命令 下载文件到本地,随后通过ftp传至目标服务器,并将hdfs文件目录的修改时间存入mysql中.每次修改前将mysq ...

  7. console那些你不曾知道的玩法

    一.console最常见的四种方法: FireFox(58) Chrome(51) 二.打印对象: 平时想输出对象属性时,可以直接打印对象,对Object使用toString方法会得到 [Object ...

  8. 异步任务利器Celery(一)介绍

    django项目开发中遇到过一些问题,发送请求后服务器要进行一系列耗时非常长的操作,用户要等待很久的时间.可不可以立刻对用户返回响应,然后在后台运行那些操作呢? crontab定时任务很难达到这样的要 ...

  9. egametang框架服务端运行流程

    et框架的构建块主要由entity和componet组成,类似unity的组件.一个Entity可以挂载多个不同Component.Entity和Component的共同基类Disposer用于提供对 ...

  10. [Uva10601]Cubes

    [Uva10601]Cubes 标签: 置换 burnside引理 题意 给你12跟长度相同的小木棍,每个小木棍有一个颜色.统计他们能拼成多少种不同的立方体.旋转后相同的立方体认为是相同的. 题解 这 ...