新手学HighCharts(一)----基本使用

  • HighCharts简介
  • HighCharts的使用
    • 下载插件
    • 具体应用
      • FIRSTLY
      • SECONDLY
      • THIRDLY
      • FINALLY

HighCharts简介



    最近做的项目需要用到数据分析,图表显示,之前做项目的时候用到过highcharts,不过也只是简单的会用而已,然后再网上查了查highcharts的优点:

Highcharts使用的一些优点的介绍。
一、首先、使用Highcharts能快速、简单的做出各种诸如柱状图、饼状图、曲线图等多种形式的统计图或者走势图。使用者只需要提供对应的数据、以及简单的Highcharts的配置即可。使用简单。
二、跨语言跨平台支持多种浏览器。Highcharts是基于js制作出来的。是一个js类库。无论你使用什么后端语言,都可以很方便的使用Highcharts来做图表或者统计。
三、使用门槛极低、稍微看一下API都可以做出各种符合要求的统计图表等。
数据灵活。支持xml 和json。

Highcharts是一款开源图表库,开源但不完全免费。Highcharts针对个人用户及非商业用途免费,商业用途需要购买授权。

HighCharts的使用


下载插件

    若要用HighCharts的话,得先引用它的插件,插件不大,核心文件只有一个highcharts.js文件,可以去HighCharts官网上去下载:

http://www.highcharts.com/download

如果需要导出图表,则需要exporting.js文件

如果需要一些特殊的图形呈现,则还需要下载highcharts-more.js

具体应用

FIRSTLY

    首先,下载完成之后,就把js文件引用到项目中

<!--highcharts核心文件-->
<script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script>

<!--导出需要引用的文件-->
<script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/exporting.js"></script>

SECONDLY

    在界面中定义<div>盒子:

<div class="row">
        <div id="pieChart" style="float: left;  height: 550px;margin-left:20px;"></div>
        <div id="columnChart" style="float: left;  height: 550px; margin-left:20px;"></div>
    </div>

THIRDLY

    在js中定义如何接受数据,和如何显示表格的样式,highcharts的这些样式都是可以通过js控制的,因为highcharts本身就是用JavaScript编写的一个图表库。在这里我只是用饼形图,和柱状图做例子。

//图标分析公用部分--同时显示两个图表(饼型和柱状)
function chartAnalyze(Result,title){
    /* alert(data); */
    var strJson = Result;
    var data = [];
    for ( var i in strJson) {
        var serie = new Array(strJson[i].name, strJson[i].count);
        data.push(serie);
    }
    PieChart(data,title);
    ColumnChart(data,title);
}

//图标分析公用部分--只显示一个图表(柱状)
function scoreAnalyze(result,title){
    var strJson = Result;
    var data = [];
    for ( var i in strJson) {
        var serie = new Array(strJson[i].name, strJson[i].count);
        data.push(serie);
    }
    ColumnChart(data,title);
}

//饼图
function PieChart(series,title) {
    $('#pieChart').highcharts({
        chart : {
            plotBackgroundColor : null,
            plotBorderWidth : null,
            plotShadow : false
        },
        credits : {
            enabled : false,
        },
        title : {
            text : title
        },
        tooltip : {
            pointFormat : '{series.name}: <b>{point.percentage:.1f}%</b>'
        },
        plotOptions : {
            pie : {
                allowPointSelect : true,
                cursor : 'pointer',
                dataLabels : {
                    enabled : true,
                    format : '<b>{point.name}</b>: {point.percentage:.1f} %'
                },
                showInLegend : true
            }
        },
        series : [ {
            type : 'pie',
            data : series
        } ]
    });
}

//柱状图
function ColumnChart(series,title) {
    $('#columnChart').highcharts({
        chart: {
            type: 'column',
        },
        credits: {
            enabled: false,
        },
        title: {
            text: title
        },
        xAxis: {
            categories: [

            ],
            labels: {
                rotation: -45,
                align: 'right',
                style: {
                    fontSize: '13px',
                    fontFamily: 'Verdana, sans-serif'
                }
            }
        },
        yAxis: {
            min: 0,
            title: {
                text: '总数'
            }
        },
        legend: {
            enabled: false
        },
        tooltip: {
            pointFormat: '数量',
        },
        series: [{
            name: 'Population',
            data: series,
            dataLabels: {
                enabled: true,
                rotation: -90,
                color: '#FFFFFF',
                align: 'right',
                x: 4,
                y: 10,
                style: {
                    fontSize: '13px',
                    fontFamily: 'Verdana, sans-serif',
                    textShadow: '0 0 3px black'
                }
            }
        }]
    });
}

FINALLY

    js接受从后台传到界面上的json对象,然后绑定到图表上进行显示。秀一下最终的结果。

    现在对于highcharts的使用也只是处于会用的阶段,具体每一种图表在哪一种场景下使用还是不确定的,在后面的博客中会进行深入的研究!期待!

时间: 2025-01-30 14:35:27

新手学HighCharts(一)----基本使用的相关文章

新手学HighCharts(二)----对比柱状图的动态加载

highcharts数据显示形式 后台 B层实现层 Controller层 前台 JSP JavaScript     上一篇文章 新手学HighCharts(一)--基本使用 中介绍了highCharts的基本使用,今天给大家介绍对比柱状图的使用,贴张图先: highcharts数据显示形式     在highcharts中有一个属性series,这个属性主要是配置图表要展示的数据. var series = [ { name: 'Tokyo', data: [7.0, 6.9, 9.5, 1

新手学JAVA(三)----StringBuilder类

   上一篇文章新手学JAVA(二)----String类与StringBuffer类的区别中了解到,String的值是不可变的,这就导致 每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间,StringBuffer是可变 类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象.       StringBuffer类和StringBuilder类功能基本相似.算是两个双胞胎.   下面主要说两点   第一点  线程安全   Str

新手学android,监听两个按钮的问题,出现错误

问题描述 新手学android,监听两个按钮的问题,出现错误 package com.example.xingpengfei.guessnumber; import android.content.DialogInterface; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; imp

跪求大神解答-新手学java有几个不懂得问题求各位大神解答

问题描述 新手学java有几个不懂得问题求各位大神解答 封装有什么意义.为什么要用prative封装呢.直接public不行吗?都说为了安全难道用一个方法setter getter 改变数据这样就安全么?.直接public 多方便.求大神举个例子说明. 第二个问题static:证明此方法是由类名称调用的这句话怎么理解. 第三个问题static有什么作用,我就知道他在类里最先执行然后可以不实力化调用,然后有什么用这有点蒙. 第四个问题我理解的映射就是一项与另一项的关系.他也可以用属性表示.但是之所

123-求教大神C++问题,新手学C++编程

问题描述 求教大神C++问题,新手学C++编程 源程序如下: #include #include using namespace std; class student { public: student(int n,string nam,char s) { num=n; name=nam; sex=s; cout<<"construct called"<<endl; } ~student() {cout<<"destruct called.

新手学Linux(三)----使用 Vagrant 打造跨平台开发环境(二)

前言 安装步骤 工具以及环境介绍 第一步VirtualBox和vagrant的安装 第二步使用vagrant添加虚拟机镜像         1从互联网添加虚拟机镜像文件         2从本地添加镜像文件 第三步初始化虚拟机 第四步使用虚拟机 常用命令 前言     在上一篇<新手学Linux(二)--使用 Vagrant 打造跨平台开发环境(一)>文章中,给大家介绍了什么是vagrant?,vagrant能干什么,以及vagrant的主要使用者,那么今天就给大家讲讲vagrant的具体使用

c语言-新手学代码,一直报错,求好心人解答!

问题描述 新手学代码,一直报错,求好心人解答! int price = 0; printf("请输入商品价格"); scanf("%d", &price); if(price<50) { printf("买下它."); } else { printf("不买"); } getch(); 错误 错误 1 error C4996: 'scanf': This function or variable may be u

activity传数据-新手学Android的广播,为什么接收不到广播数据,急急急急

问题描述 新手学Android的广播,为什么接收不到广播数据,急急急急 我是动态注册的 ,代码如下: public class LoginActivity extends Activity implements OnClickListener{ public static String ACTION= "ok"; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { s

新手学java pop3遇到的问题,用户名

问题描述 新手学java pop3遇到的问题,用户名 DEBUG: setDebug: JavaMail version 1.4ea DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc] DEBUG POP3: connecting to host "pop.qq.com", port 110, isSSL fal