[echarts] - echarts量化比较图表类型解析

https://echarts.baidu.com/examples/editor.html?c=watermark

<!DOCTYPE html>
<!--用作两种货品的参数对比-->
<html style="height: 100%">
<head>
    <meta charset="utf-8">
</head>
<body style="height: 100%; margin: 0">
<div id="container" style="height: 100%"></div>

<script src="/js/jquery.min.js"></script>

<!--<script src="/js/jquery-3.1.0.min.js"></script>-->

<!--<script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>-->
<!--<script src="/js/echarts_4.1.0.rc2_echarts.min.js"></script>-->
<script src="https://cdn.bootcss.com/echarts/4.1.0.rc2/echarts.min.js"></script>

<!--<script src="monitor.js"></script>-->
<script src="/js/getParam.js"></script>

<script type="text/javascript">
    var dom = document.getElementById("container");
    var myChart = echarts.init(dom);
    var app = {};
    option = null;
    app.title = ‘水印 - ECharts 下载统计‘

    //TODO 测试echart数据
    // $.ajax({
    //     url: "/petroleumCoke/selectAll", //获取所有石油焦数据list
    //     type: "POST",
    //     success: function (data) {
    //
    //         companys = getParamValues("company",data).delDuplicate();
    //     }
    // });

    var builderJson = {//json数组
        "all": 10887,
        "charts": {
            "map": 3237,
            "lines": 2164,
            "bar": 7561,
            "line": 7778,
            "pie": 7355,
            "scatter": 2405,
            "candlestick": 1842,
            "radar": 2090,
            "heatmap": 1762,
            "treemap": 1593,
            "graph": 2060,
            "boxplot": 1537,
            "parallel": 1908,
            "gauge": 2107,
            "funnel": 1692,
            "sankey": 1568
        },
        "components": {
            "geo": 2788,
            "title": 9575,
            "legend": 9400,
            "tooltip": 9466,
            "grid": 9266,
            "markPoint": 3419,
            "markLine": 2984,
            "timeline": 2739,
            "dataZoom": 2744,
            "visualMap": 2466,
            "toolbox": 3034,
            "polar": 1945
        },
        "ie": 9743
    };

    var downloadJson = {
        "echarts.min.js": 17365,
        "echarts.simple.min.js": 4079,
        "echarts.common.min.js": 6929,
        "echarts.js": 14890
    };

    var themeJson = {
        "dark.js": 1594,
        "infographic.js": 925,
        "shine.js": 1608,
        "roma.js": 721,
        "macarons.js": 2179,
        "vintage.js": 1982
    };

    var waterMarkText = ‘ECHARTS‘;

    var canvas = document.createElement(‘canvas‘);
    var ctx = canvas.getContext(‘2d‘);
    canvas.width = canvas.height = 100;
    ctx.textAlign = ‘center‘;
    ctx.textBaseline = ‘middle‘;
    ctx.globalAlpha = 0.08;
    ctx.font = ‘20px Microsoft Yahei‘;
    ctx.translate(50, 50);
    ctx.rotate(-Math.PI / 4);
    ctx.fillText(waterMarkText, 0, 0);

    option = {
        backgroundColor: {
            type: ‘pattern‘,
            image: canvas,
            repeat: ‘repeat‘
        },
        tooltip: {},
        title: [{
            text: ‘在线构建‘,
            subtext: ‘总计 ‘ + builderJson.all,
            x: ‘25%‘,
            textAlign: ‘center‘
        }, {
            text: ‘各版本下载‘,
            subtext: ‘总计 ‘ + Object.keys(downloadJson).reduce(function (all, key) {
                return all + downloadJson[key];
            }, 0),
            x: ‘75%‘,
            textAlign: ‘center‘
        }, {
            text: ‘主题下载‘,
            subtext: ‘总计 ‘ + Object.keys(themeJson).reduce(function (all, key) {
                return all + themeJson[key];
            }, 0),
            x: ‘75%‘,
            y: ‘50%‘,
            textAlign: ‘center‘
        }],
        grid: [{
            top: 50,
            width: ‘50%‘,
            bottom: ‘45%‘,
            left: 10,
            containLabel: true
        }, {
            top: ‘55%‘,
            width: ‘50%‘,
            bottom: 0,
            left: 10,
            containLabel: true
        }],
        xAxis: [{
            type: ‘value‘,
            max: builderJson.all,
            splitLine: {
                show: false
            }
        }, {
            type: ‘value‘,
            max: builderJson.all,
            gridIndex: 1,
            splitLine: {
                show: false
            }
        }],
        yAxis: [{
            type: ‘category‘,
            data: Object.keys(builderJson.charts),
            axisLabel: {
                interval: 0,
                rotate: 30
            },
            splitLine: {
                show: false
            }
        }, {
            gridIndex: 1,
            type: ‘category‘,
            data: Object.keys(builderJson.components),
            axisLabel: {
                interval: 0,
                rotate: 30
            },
            splitLine: {
                show: false
            }
        }],
        series: [{
            type: ‘bar‘,
            stack: ‘chart‘,
            z: 3,
            label: {
                normal: {
                    position: ‘right‘,
                    show: true
                }
            },
            data: Object.keys(builderJson.charts).map(function (key) {
                return builderJson.charts[key];
            })
        }, {
            type: ‘bar‘,
            stack: ‘chart‘,
            silent: true,
            itemStyle: {
                normal: {
                    color: ‘#eee‘
                }
            },
            data: Object.keys(builderJson.charts).map(function (key) {
                return builderJson.all - builderJson.charts[key];
            })
        }, {
            type: ‘bar‘,
            stack: ‘component‘,
            xAxisIndex: 1,
            yAxisIndex: 1,
            z: 3,
            label: {
                normal: {
                    position: ‘right‘,
                    show: true
                }
            },
            data: Object.keys(builderJson.components).map(function (key) {
                return builderJson.components[key];
            })
        }, {
            type: ‘bar‘,
            stack: ‘component‘,
            silent: true,
            xAxisIndex: 1,
            yAxisIndex: 1,
            itemStyle: {
                normal: {
                    color: ‘#eee‘
                }
            },
            data: Object.keys(builderJson.components).map(function (key) {
                return builderJson.all - builderJson.components[key];
            })
        }, {
            type: ‘pie‘,
            radius: [0, ‘30%‘],
            center: [‘75%‘, ‘25%‘],
            data: Object.keys(downloadJson).map(function (key) {
                return {
                    name: key.replace(‘.js‘, ‘‘),
                    value: downloadJson[key]
                }
            })
        }, {
            type: ‘pie‘,
            radius: [0, ‘30%‘],
            center: [‘75%‘, ‘75%‘],
            data: Object.keys(themeJson).map(function (key) {
                return {
                    name: key.replace(‘.js‘, ‘‘),
                    value: themeJson[key]
                }
            })
        }]
    };
    if (option && typeof option === "object") {
        myChart.setOption(option, true);
    }
</script>
</body>
</html>

这个图表展示类型是横条装及饼图,能很明显地展示出两种产品的产量,供应量,销售量(横线)以及饼图(构成饼图,比如一个吃的食品各种佐料,添加剂各占了多少)

在var builderJson = { } 中创建的key,value键值对数据数组完全可以通过一个js进行数据的转换.

如:

var builderJson = getBuilderJson(company1,company2,json);

todo: getBuilderJson

 

原文地址:https://www.cnblogs.com/ukzq/p/10312641.html

时间: 2024-11-05 17:26:15

[echarts] - echarts量化比较图表类型解析的相关文章

5分钟上手写ECharts的第一个图表

目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. 这篇文章是零基础入门ECharts图表的教程,先简单介绍一下吧,可能有人还不知道这个东西. [简介] ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/1

ECharts学习总结(一):ECharts的第一个图表

在进行echarts图表开发之前先要到echarts官网下载echarts的库文件,我下载的是echarts-2.2.7.然后把库文件放到工程文件web目录下.接下来进行第一个图表的显示步骤如下: 1.新建一个echarts.html文件.为ECharts准备一个具备大小(宽高)的Dom. <!DOCTYPE html> <head> <meta charset="utf-8"> <title>ECharts</title>

[ECharts]&quot;echarts/config&quot; is not exists

今天在给Echarts折线图中的数据点增加点击事件的时候总是出现一个 Uncaught Error: [MODULE_MISS]"echarts/config" is not exists!错误 查找了半天才明白是什么原因,这个错误引起的原因是下面这段代码的位置 [javascript] view plain copy print? var ecConfig = require('echarts/config'); 开始的时候我总是把它放在全局变量中,我们Echarts的模板中一般是这

QlikView同button控制转换图表类型(例如,变成一个垂直的条形图)

QlikView图表可以通过检查一些可以为图表类型的转换非常方便进行配置,允许用户选择上面的图就是看条形图或柱状图或垂直方向图detail数据. 在Fast Type Change中选中如上图所看到的的选项之后.图表的右上角多了一个Fast Change选项.变成以下这样: 由于在第一幅图里面的右下角Preferred Icon勾选的是In Caption,因此该控制Chart Type Fast Change的button在标题栏,假如勾选第一个In Chart的话,效果例如以下所看到的: w

ChartConlrol二维图表类型

WinForms Controls >Controls > Chart Control > Concepts > Creating Charts > 2D Chart Types The XtraCharts suite provides a wide variety of different 2D chart types (also calledview types) which give you the ability to display data as any of

Oracle数据库中的blob类型解析

Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据. 写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢? 这需要你先插入一个empty的blob,这将创建一个blob的cursor,然后你再把这个empty的blob的cursor用select查询出来,这样通过两步操作

数据库基本常用类型解析

int.bigint.smallint 和 tinyint 使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字).存储大小为 4 个字节.int 的 SQL-92 同义字为 integer. ma

SSRS 2012 图表类型 -- 介绍

"一图胜千言",数字管理的方式是希望通过科学化的衡量来作为企业的决策支持基础,但是当企业的规模日渐增加,业务日渐复杂,每天所产生的数据如排山倒海的涌入.如果死守着传统数据解读的流程,恐怕没多久数据就变成像垃圾一样的"公害"了.尤其决策人员大多公务繁忙,"太多的数据等于没有数据",成山的数字往往难以引起分析者解读的欲望,导致忽略带过,反而造成这些数字从此束之高阁而无人问津了. 根据视觉传播理论研究讨论指出,图形的视觉冲击力笔文字高出85%,因此,如

图表Web组件提供2D和3D图表类型控件Nevron Chart for SharePoint

Nevron Chart for SharePoint是一个先进的图表Web组件,其能为您的SharePoint站点提供一整套的2D和3D图表类型,高度可自定义的轴,先进的数据分析功能,严密的数据集成和无与伦比的视觉效果.其组合了业内领先的Nevron Charting engine for ASP.NET以及Nevron Pivot Data Aggregation engine.这使得用户能在SharePoint环境中直观的完成复杂的透视图表的创建. 此产品属于产品Nevron ShareP