大而爽 發表於 2020-3-2 01:23:00

JavaScript:highcharts图表

<p>前端数据可视化插件有很多,有</p>

<ol>
<li>Highcharts(https://www.hcharts.cn/)</li>

<li>Echarts(http://echarts.baidu.com/)</li>

<li>D3(https://d3js.org/)</li>

<li>amcharts (https://www.amcharts.com/)</li>

<li>FusionCharts (https://www.fusioncharts.com/)</li>
</ol>

<h2>一、Highcharts</h2>

<ul>
<li>官网: https://www.highcharts.com.cn/index.php </li>

<li>下载页面:https://www.highcharts.com.cn/download</li>

<li>演示地址:https://www.highcharts.com.cn/demo/highcharts</li>

<li>中文文档:https://www.highcharts.com.cn/docs</li>
</ul>

<p>Highcharts 非商业免费,商业需授权,代码开源。兼容 IE6。</p>

<p>Highcharts 底层为svg,方便自己定制,但图表类型有限。</p>

<h3>svg特点:</h3>

<ol>
<li>不依赖分辨率。</li>

<li>支持事件处理器,可以为某个元素附加JS事件处理器。</li>

<li>最适合带有大型渲染区域的应用程序(如谷歌地图),但复杂度高会减慢渲染速度(任何过度使用DOM的应用都不快)。</li>

<li>不适合游戏应用。</li>
</ol>

<p>Highcharts 是一个用纯 JavaScript 编写的一个图表库, 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。</p>

<p>Highcharts 支持的图表类型有直线图、曲线图、区域图、柱状图、饼状图、散状点图、仪表图、气泡图、瀑布流图等多达 20 种图表,其中很多图表可以集成在同一个图形中形成混合图。</p>

<p>访问 highcharts.com 下载 Highcharts 包。</p>

<h2>二、1 分钟上手 Highcharts</h2>

<p>引入 Highcharts</p>

<p>Highcharts 最基本的运行只需要一个 JS 文件,即 highcharts.js,以使用 CDN 文件为例,对应的代码是:</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">script </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="http://cdn.highcharts.com.cn/highcharts/highcharts.js"</span><span style="color: rgba(0, 0, 255, 1)">&gt;&lt;/</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>

<p>创建一个简单的图表</p>

<p>在绘图前我们需要为 Highcharts 准备一个 DOM 容器,并指定其大小</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">div </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="container"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="width: 600px;height:400px;"</span><span style="color: rgba(0, 0, 255, 1)">&gt;&lt;/</span><span style="color: rgba(128, 0, 0, 1)">div</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>

<p>然后通过 Highcharts 的初始化函数 <code>Highcharts.chart</code> 来创建图表,该函数接受两个参数,第一个参数是 DOM 容器的 Id,第二个参数是图表配置,代码如下:</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">&lt;!</span><span style="color: rgba(255, 0, 255, 1)">DOCTYPE html</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">html</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">meta </span><span style="color: rgba(255, 0, 0, 1)">charset</span><span style="color: rgba(0, 0, 255, 1)">="utf-8"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">title</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>第一个 Highcharts 图表<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">title</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 128, 0, 1)"></span><span style="color: rgba(0, 128, 0, 1)"> 图表容器 DOM </span><span style="color: rgba(0, 128, 0, 1)"></span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">div </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="container"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="width: 600px;height:400px;"</span><span style="color: rgba(0, 0, 255, 1)">&gt;&lt;/</span><span style="color: rgba(128, 0, 0, 1)">div</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 128, 0, 1)"></span><span style="color: rgba(0, 128, 0, 1)"> 引入 highcharts.js </span><span style="color: rgba(0, 128, 0, 1)"></span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">script </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="http://cdn.highcharts.com.cn/highcharts/highcharts.js"</span><span style="color: rgba(0, 0, 255, 1)">&gt;&lt;/</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)">//</span><span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)"> 图表配置</span>
      <span style="color: rgba(0, 0, 255, 1); background-color: rgba(245, 245, 245, 1)">var</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)"> options </span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">=</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)"> {
            <span style="background-color: rgba(255, 255, 0, 1)">chart</span>: {
                type: </span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">bar</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span>                        <span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)">//</span><span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)">指定图表的类型,默认是折线图(line)</span>
<span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">            },
            <span style="background-color: rgba(255, 255, 0, 1)">title</span>: {
                text: </span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">我的第一个图表</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span>               <span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)">//</span><span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)"> 标题</span>
<span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">            },
            <span style="background-color: rgba(255, 255, 0, 1)">xAxis</span>: {
                categories: [</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">苹果</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">, </span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">香蕉</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">, </span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">橙子</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">]   </span><span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)">//</span><span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)"> x 轴分类</span>
<span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">            },
            <span style="background-color: rgba(255, 255, 0, 1)">yAxis</span>: {
                title: {
                  text: </span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">吃水果个数</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">'</span>                <span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)">//</span><span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)"> y 轴标题</span>
<span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">                }
            },
            <span style="background-color: rgba(255, 255, 0, 1)">series</span>: <span style="background-color: rgba(255, 255, 0, 1)">[{                              </span></span><span style="background-color: rgba(255, 255, 0, 1)"><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据列</span>
<span style="color: rgba(0, 0, 0, 1)">                name: </span><span style="color: rgba(0, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">小明</span><span style="color: rgba(0, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,                        </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据列名</span>
<span style="color: rgba(0, 0, 0, 1)">                data: [</span><span style="color: rgba(0, 0, 0, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">, </span><span style="color: rgba(0, 0, 0, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">, </span><span style="color: rgba(0, 0, 0, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">]                     </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据</span>
<span style="color: rgba(0, 0, 0, 1)">                   }, {
                name: </span><span style="color: rgba(0, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">小红</span><span style="color: rgba(0, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                data: [</span><span style="color: rgba(0, 0, 0, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">, </span><span style="color: rgba(0, 0, 0, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">, </span><span style="color: rgba(0, 0, 0, 1)">3</span></span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)"><span style="background-color: rgba(255, 255, 0, 1)">]
            }]</span>
      };
      </span><span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)">//</span><span style="color: rgba(0, 128, 0, 1); background-color: rgba(245, 245, 245, 1)"> 图表初始化函数</span>
      <span style="color: rgba(0, 0, 255, 1); background-color: rgba(245, 245, 245, 1)">var</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)"> chart </span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)">=</span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)"> <span style="background-color: rgba(255, 255, 0, 1)">Highcharts.chart(</span></span><span style="background-color: rgba(255, 255, 0, 1)"><span style="color: rgba(0, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">container</span><span style="color: rgba(0, 0, 0, 1)">'</span></span><span style="color: rgba(0, 0, 0, 1); background-color: rgba(245, 245, 245, 1)"><span style="background-color: rgba(255, 255, 0, 1)">, options);</span>
    </span><span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">html</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>

<p>这样你的第一个图表就诞生了!</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/201909/24244-20190930173120322-1109854469.png" width="822" height="414"></p>

<p>在线试一试</p>

<h3>1、调用远程数据</h3>

<p>通过这个简单的例子,我们将学会如何配置基本的参数(options),然后通过一个Ajax调用远程数据以及解析数据,最后通过合适的格式展现出来</p>

<p>一个外部的仅包含数据的CSV文件'data.csv(数据源)。
<br>Categories,Apples,Pears,Oranges,Bananas

<br> John,8,4,6,5

<br> Jane,3,4,2,3

<br> Joe,86,76,79,77

<br> Janet,3,16,13,15</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> options =<span style="color: rgba(0, 0, 0, 1)"> {
   chart: {
         renderTo: </span>'container'<span style="color: rgba(0, 0, 0, 1)">,
         defaultSeriesType: </span>'column'<span style="color: rgba(0, 0, 0, 1)">
   },
   title: {
         text: </span>'Fruit Consumption'<span style="color: rgba(0, 0, 0, 1)">
   },
   xAxis: {
         categories: []
   },
   yAxis: {
         title: {
             text: </span>'Units'<span style="color: rgba(0, 0, 0, 1)">
         }
   },
   series: []
};

$.get(</span>'data.csv', <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(data) {
   </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Split the lines</span>
   <span style="color: rgba(0, 0, 255, 1)">var</span> lines = data.split('\n'<span style="color: rgba(0, 0, 0, 1)">);
   
   </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Iterate over the lines and add categories or series</span>
   $.each(lines, <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(lineNo, line) {
         </span><span style="color: rgba(0, 0, 255, 1)">var</span> items = line.split(','<span style="color: rgba(0, 0, 0, 1)">);
         
         </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> header line containes categories</span>
         <span style="color: rgba(0, 0, 255, 1)">if</span> (lineNo == 0<span style="color: rgba(0, 0, 0, 1)">) {
             $.each(items, </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(itemNo, item) {
               </span><span style="color: rgba(0, 0, 255, 1)">if</span> (itemNo &gt; 0<span style="color: rgba(0, 0, 0, 1)">) options.xAxis.categories.push(item);
            });
         }
         
         </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> the rest of the lines contain data with their name in the first position</span>
         <span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
             </span><span style="color: rgba(0, 0, 255, 1)">var</span> series =<span style="color: rgba(0, 0, 0, 1)"> {
               data: []
             };
             $.each(items, </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(itemNo, item) {
               </span><span style="color: rgba(0, 0, 255, 1)">if</span> (itemNo == 0<span style="color: rgba(0, 0, 0, 1)">) {
                     series.name </span>=<span style="color: rgba(0, 0, 0, 1)"> item;
               } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
                     series.data.push(parseFloat(item));
               }
             });
            
             options.series.push(series);
   
         }
         
   });
   
   </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Create the chart</span>
   <span style="color: rgba(0, 0, 255, 1)">var</span> chart = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Highcharts.Chart(options);
});</span></pre>
</div>

<h3>2、使用JQuery结合HIghcharts实现从后台获取JSON实时刷新图表</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre>$(<span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(){
               </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">声明报表对象</span>
      <span style="color: rgba(0, 0, 255, 1)">var</span> chart = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Highcharts.Chart({
            chart: {
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">将报表对象渲染到层上</span>
            renderTo: 'container'<span style="color: rgba(0, 0, 0, 1)">
      },
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设定报表对象的初始数据</span>
<span style="color: rgba(0, 0, 0, 1)">      series: [{
            data: [</span>29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4<span style="color: rgba(0, 0, 0, 1)">]         
      }]
    });

      </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> getForm(){
                                                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">使用JQuery从后台获取JSON格式的数据</span>
            jQuery.getJSON('http://localhost:8080/JQueryPIC/ajax', <span style="color: rgba(0, 0, 255, 1)">null</span>, <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(data) {
                                                                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">为图表设置值</span>
                chart.series.setData(data);
            });
      }

      
      $(document).ready(</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">() {
            </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">每隔3秒自动调用方法,实现图表的实时更新</span>
            window.setInterval(getForm,3000<span style="color: rgba(0, 0, 0, 1)">);   
            
      });
      

    });</span></pre>
</div>

<h3>3、活动图(Live Charts)</h3>

<p><strong>1.建立服务器。</strong>在这个例子中,我们服务器脚本语言返回包含时间(time)以及y值(y value)的javascript数组。</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> global</span><span style="color: rgba(0, 128, 0, 1)">
/*</span><span style="color: rgba(0, 128, 0, 1)">*
* Request data from the server, add it to the graph and set a timeout to request again
</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
<span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> requestData() {
    $.ajax({
      url: </span>'live-server-data.php'<span style="color: rgba(0, 0, 0, 1)">,
      success: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(point) {
            </span><span style="color: rgba(0, 0, 255, 1)">var</span> series = chart.series,
                shift </span>= series.data.length &gt; 20; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> shift if the series is longer than 20</span>

            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> add the point</span>
            chart.series.addPoint(point, <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">, shift);
            
            </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> call it again after one second</span>
            setTimeout(requestData, 1000<span style="color: rgba(0, 0, 0, 1)">);   
      },
      cache: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
    });
}
$(document).ready(</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">() {
    chart </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Highcharts.Chart({
      chart: {
            renderTo: </span>'container'<span style="color: rgba(0, 0, 0, 1)">,
            defaultSeriesType: </span>'spline'<span style="color: rgba(0, 0, 0, 1)">,
            events: {
                load: requestData
            }
      },
      title: {
            text: </span>'Live random data'<span style="color: rgba(0, 0, 0, 1)">
      },
      xAxis: {
            type: </span>'datetime'<span style="color: rgba(0, 0, 0, 1)">,
            tickPixelInterval: </span>150<span style="color: rgba(0, 0, 0, 1)">,
            maxZoom: </span>20 * 1000<span style="color: rgba(0, 0, 0, 1)">
      },
      yAxis: {
            minPadding: </span>0.2<span style="color: rgba(0, 0, 0, 1)">,
            maxPadding: </span>0.2<span style="color: rgba(0, 0, 0, 1)">,
            title: {
                text: </span>'Value'<span style="color: rgba(0, 0, 0, 1)">,
                margin: </span>80<span style="color: rgba(0, 0, 0, 1)">
            }
      },
      series: [{
            name: </span>'Random data'<span style="color: rgba(0, 0, 0, 1)">,
            data: []
      }]
    });      
});</span></pre>
</div>

<h2>三、Highcharts 基本组成</h2>

<ol>
<li><strong>标题(Title)</strong>

    <br>图表标题,包含标题和副标题(subTitle),其中副标题是非必须的。</li>

<li><strong>坐标轴(Axis)</strong>

    <br>坐标轴包含x轴(xAxis)和y轴(yAxis)。通常情况下,x轴显示在图表的底部,y轴显示在图表的左侧。多个数据列可以共同使用同一个坐标轴,为了对比或区分数据,Highcharts提供了多轴的支持。</li>

<li><strong>数据列(Series)</strong>

    <br>数据列即图表上一个或多个数据系列,比如曲线图中的一条曲线,柱状图中的一个柱形。</li>

<li><strong>数据提示框(Tooltip)</strong>

    <br>鼠标悬停在某点上时,以框的形式提示该点的数据,比如该点的值、数据单位等。数据提示框内提示的信息完全可以通过格式化函数动态指定。</li>

<li><strong>图例(Legend)</strong>

    <br>图例是图表中用不同形状、颜色、文字等 标示不同数据列,通过点击标示可以显示或隐藏该数据列。</li>

<li><strong>版权标签(Credits)</strong>

    <br>显示在图表右下方的包含链接的文字,默认是Highcharts官网地址。通过指定credits.enabled=false即可不显示该信息。</li>

<li><strong>导出功能(Exporting)</strong>

    <br>通过引入 exporting.js即可增加图表导出为常见文件功能。</li>

<li><strong>标示线(PlotLines)</strong>

    <br>可以在图表上增加一条标示线,比如平均值线,最高值线等。</li>

<li><strong>标示区(PlotBands)</strong>

    <br>可以在图表添加不同颜色的区域带,标示出明显的范围区域。</li>
</ol>

<h2>四、配置选项</h2>

<p><img title="image" style="border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/201909/24244-20190930173121139-910842844.png" width="280" height="643"></p>

<h3>1、参数配置(属性+事件)</h3>

<ul>
<li>chart.events.addSeries:添加数列到图表中。</li>

<li>chart.events.click:整个图表的绘图区上所发生的点击事件。</li>

<li>chart.events.load:图表加载事件。</li>

<li>chart.events.redraw:图表重画事件,当点击图注显示和隐藏绘图时可以触发。</li>

<li>chart.events.selection:当图表曲线可选择放大时,当选择图表操作时,可以触发该事件。</li>

<li>chart.height:所绘制图表的高度值。</li>

<li>chart.inverted:图表中的x,y轴对换。</li>

<li>chart.polar:是否为极性图表。</li>

<li>chart.reflow:当窗口大小改变时,图表宽度自适应窗口大小改变。</li>

<li>chart.renderTo:图表加载的位置,是页面上的一个DOM对象。</li>

<li>chart.showAxes:在空白图表中,是否显示坐标轴。</li>

<li>chart.type:图表的类型,默认为line,还有bar/column/pie……</li>

<li>chart.width:图表绘图区的宽度,默认为自适应。</li>

<li>chart.zoomType:图表中数据报表的放大类型,可以以X轴放大,或是以Y轴放大,还可以以XY轴同时放大。</li>

<li>colors:图表中多数列时,各数列之间的颜色。是一个数组,一般不动。</li>

<li>credits.enabled:是否允许显示版权信息。</li>

<li>credits.href:版权所有的链接。</li>

<li>credits.text:版权信息显示文字。</li>

<li>exporting.buttons.exportButton.enabled:是否允许显示导出按钮。</li>

<li>exporting.buttons.exportButton.menuItems:导出按钮的菜单选项。</li>

<li>exporting.buttons.exportButton.onclick:导出按钮被点击的事件,不是内部的菜单。</li>

<li>exporting.buttons.printButton.enabled:是否允许打印按钮。</li>

<li>exporting.buttons.printButton.onclick:打印按钮的点击事件。</li>

<li>exporting.enabled:打印和导出按钮是否被允许。</li>

<li>exporting.filename:被导出文件的文件名。</li>

<li>exporting.type:默认导出图片的文件格式。</li>

<li>exporting.url:SVG图表转换并导出的接口处理地址。</li>

<li>exporing.width:默认导出图片的宽度。</li>

<li>labels:标签,可以加载到图表的任何位置,里面有items,style。</li>

<li>lang:语言参数配置,与导出按钮菜单有关的配置,时间名称的配置等。</li>

<li>legend.enabled:是否允许图注。</li>

<li>navigation.buttonOptions.enabled:图表中所有导航中的按钮是否可被点击。</li>

<li>series:是一个数组。</li>

<li>subtitle:配置图表的子标题。</li>

<li>title:配置图表的标题。</li>

<li>tooltip:配置图表中数据的气泡提示。</li>

<li>xAxis,yAxis配置设置坐标轴</li>

<li>allowDecimals:坐标轴上是否允许小数。</li>

<li>categories:是一个数组,坐标轴的分类。</li>

<li>plotLines:绘制主线。</li>

<li>tickColor:刻度颜色。</li>

<li>tickInterval:刻度的步进值。</li>

<li>labels.rotation:刻度标签旋转度数</li>
</ul>

<h3>2、Chart:图表区选项</h3>

<p>Chart图表区选项用于设置图表区相关属性。</p>

<ul>
<li><strong>backgroundColor:</strong>设置图表区背景色。默认值: #FFFFFF</li>

<li><strong>borderWidth:</strong>设置图表边框宽度。默认值:0</li>

<li><strong>borderRadius</strong>:设置图表边框圆角角度。默认值:5</li>

<li><strong>renderTo</strong>:图表放置的容器,一般在html中放置一个DIV,获取DIV的id属性值。默认值:null</li>

<li><strong>defaultSeriesType</strong>:默认图表类型line, spline, area, areaspline, column, bar, pie , scatter。默认值:0</li>

<li><strong>width</strong>:图表宽度,默认根据图表容器自适应宽度。默认值:null</li>

<li><strong>height</strong>:图表高度,默认根据图表容器自适应高度。默认值:null</li>

<li><strong>margin</strong>:设置图表与其他元素之间的间距,数组,如。默认值:</li>

<li><strong>plotBackgroundColor</strong>:主图表区背景色,即X轴与Y轴围成的区域的背景色。默认值:null</li>

<li><strong>plotBorderColor</strong>:主图表区边框的颜色,即X轴与Y轴围成的区域的边框颜色null</li>

<li><strong>plotBorderWidth</strong>:主图表区边框的宽度。默认值:0</li>

<li><strong>shadow</strong>:是否设置阴影,需要设置背景色backgroundColor。默认值:false</li>

<li><strong>reflow</strong>:是否自使用图表区域高度和宽度,如果没有设置width和height时,会自适应大小。默认值:true</li>

<li><strong>zoomType</strong>:拖动鼠标进行缩放,沿x轴或y轴进行缩放,可以设置为:'x','y','xy'''</li>

<li><strong>events</strong>:事件回调,支持addSeries方法,click方法,load方法,selection方法等的回调函数。默认值:</li>
</ul>

<h3>3、Color:颜色选项</h3>

<p>Color颜色选项用于设置图表的颜色方案。</p>

<ul>
<li>color:用于展示图表,折线/柱状/饼状等图的颜色,数组形式。默认值:array</li>
</ul>

<p>Highcharts已经默认提供了多种颜色方案,当要显示的图形多于颜色种类时,多出的图形会自动从第一种颜色方案开始选取。自定义颜色方案的方法:</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 0, 1)">Highcharts.setOptions({
    <span style="background-color: rgba(255, 255, 0, 1)">colors</span>: [</span>'#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655'<span style="color: rgba(0, 0, 0, 1)">,</span>'#FFF263', '#6AF9C4'<span style="color: rgba(0, 0, 0, 1)">]
});</span></pre>
</div>

<h3>4、Title:标题选项,Subtitle:副标题选项</h3>

<p>Title标题选项用于设置图表的标题相关属性。</p>

<p>副标题提供的属性选项与标题title大致相同,可参照标题选项,值得一提的是副标题的text选项默认为'',即空的,所以默认情况下副标题不显示。</p>

<ul>
<li>text:标题文本内容。默认值:Chart title</li>

<li>align:水平对齐方式。默认值:center</li>

<li>verticalAlign:垂直对齐方式。默认值:top</li>

<li>margin:标题与副标题之间或者主图表区间的间距。默认值:15</li>

<li>floating:是否浮动,如果为true,则标题可以偏离主图表区,可配合x,y属性使用。默认值:false</li>

<li>style:设置CSS样式。默认值:{color: '#3E576F',fontSize: '16px'}</li>
</ul>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
<span style="background-color: rgba(255, 255, 0, 1)">text</span>: </span>'月平均气温'<span style="color: rgba(0, 0, 0, 1)">   
};


</span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
<span style="background-color: rgba(255, 255, 0, 1)">text</span>: </span>'Source: runoob.com'<span style="color: rgba(0, 0, 0, 1)">
};</span></pre>
</div>

<h3>5、xAxis:X轴选项,yAxis:Y轴选项</h3>

<p>X轴选项用于设置图表X轴相关属性。</p>

<p>Y轴选项与上述xAxis选项基本一致,请参照上表中的参数设置,不再单独列出。</p>

<ul>
<li>categories:设置X轴分类名称,数组,例如:categories: ['Apples', 'Bananas', 'Oranges']。默认值:[]</li>

<li>title:X轴名称,支持text、enabled、align、rotation、style等属性。默认值:</li>

<li>labels:设置X轴各分类名称的样式style,格式formatter,角度rotation等。默认值:array</li>

<li>max:X轴最大值(categories为空时),如果为null,则最大值会根据X轴数据自动匹配一个最大值。默认值:null</li>

<li>min:X轴最小值(categories为空时),如果为null,则最小值会根据X轴数据自动匹配一个最小值。默认值:array</li>

<li>gridLineColor:网格(竖线)颜色。默认值:#C0C0C0</li>

<li>gridLineWidth:网格(竖线)宽度。默认值:1</li>

<li>lineColor:基线颜色。默认值:#C0D0E0</li>

<li>lineWidth:基线宽度。默认值:0</li>
</ul>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
   <span style="background-color: rgba(255, 255, 0, 1)">categories</span>: [</span>'一月', '二月', '三月', '四月', '五月', '六月'<span style="color: rgba(0, 0, 0, 1)">
      ,</span>'七月', '八月', '九月', '十月', '十一月', '十二月'<span style="color: rgba(0, 0, 0, 1)">]
};


</span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
   <span style="background-color: rgba(255, 255, 0, 1)">title</span>: {
      text: </span>'Temperature (\xB0C)'<span style="color: rgba(0, 0, 0, 1)">
   },
   <span style="background-color: rgba(255, 255, 0, 1)">plotLines</span>: [{
      value: </span>0<span style="color: rgba(0, 0, 0, 1)">,
      width: </span>1<span style="color: rgba(0, 0, 0, 1)">,
      color: </span>'#808080'<span style="color: rgba(0, 0, 0, 1)">
   }]
};</span></pre>
</div>

<h3>6、Series:数据列选项</h3>

<p>数据列选项用于设置图表中要展示的数据相关的属性。</p>

<ul>
<li>data:显示在图表中的数据列,可以为数组或者JSON格式的数据。如:data:,或data: [{name: 'Point 1',y: 0}, {name: 'Point 2',y: 5}]。默认值:''</li>

<ul>
    <li>series.data.color:某一个数据的颜色。</li>

    <li>series.data.dataLabels:序列中某一个数据的数据标签。</li>

    <li>series.data.events类同于plotOptions.area.point.events的相关配置。</li>

    <li>series.data.marker类同于plotOptions.area.marker的相关配置。</li>

    <li>series.data.name:配置数据点的名称。</li>

    <li>series.data.sliced:配置在饼图中,扇区的分离距离大小。</li>

    <li>series.data.x:点的x值。</li>

    <li>series.data.y:点的y值。</li>
</ul>

<li>name:显示数据列的名称。。默认值:''</li>

<li>type:数据列类型,支持 area, areaspline, bar, column, line, pie, scatter or spline。默认值:lineseries.stack:堆叠的分组索引。</li>

<li>xAxis,yAxis:当使用多坐标轴时,指定某个数列对应哪个坐标轴。</li>

<ul></ul>
</ul>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> series =<span style="color: rgba(0, 0, 0, 1)">[
   {
      <span style="background-color: rgba(255, 255, 0, 1)">name</span>: </span>'Tokyo'<span style="color: rgba(0, 0, 0, 1)">,
      <span style="background-color: rgba(255, 255, 0, 1)">data</span>: [</span>7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2<span style="color: rgba(0, 0, 0, 1)">,
         </span>26.5, 23.3, 18.3, 13.9, 9.6<span style="color: rgba(0, 0, 0, 1)">]
   },
   {
      name: </span>'New York'<span style="color: rgba(0, 0, 0, 1)">,
      data: [</span>-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8<span style="color: rgba(0, 0, 0, 1)">,
         </span>24.1, 20.1, 14.1, 8.6, 2.5<span style="color: rgba(0, 0, 0, 1)">]
   },
   {
      name: </span>'Berlin'<span style="color: rgba(0, 0, 0, 1)">,
      data: [</span>-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6<span style="color: rgba(0, 0, 0, 1)">,
         </span>17.9, 14.3, 9.0, 3.9, 1.0<span style="color: rgba(0, 0, 0, 1)">]
   },
   {
      name: </span>'London'<span style="color: rgba(0, 0, 0, 1)">,
      data: [</span>3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0<span style="color: rgba(0, 0, 0, 1)">,
         </span>16.6, 14.2, 10.3, 6.6, 4.8<span style="color: rgba(0, 0, 0, 1)">]
   }
];</span></pre>
</div>

<h3>7、plotOptions:数据点选项</h3>

<p>plotOptions用于设置图表中的数据点相关属性。plotOptions根据各种图表类型,其属性设置略微有些差异,现将常用选项列出来。</p>

<ul>
<li>enabled:是否在数据点上直接显示数据。默认值:false</li>

<li>allowPointSelect:是否允许使用鼠标选中数据点。默认值:false</li>

<li>formatter:回调函数,格式化数据显示内容。默认值:formatter: function() {return this.y;}</li>
</ul>

<ul>
<li>plotOptions.area.allowPointSelect:是否允许数据点的点击。</li>

<li>plotOptions.area.color:绘图的颜色。</li>

<li>plotOptions.area.dataLabels.enabled:是否允许数据标签。</li>

<li>plotOptions.area.enableMouseTracking:是否允许数据图表中,数据点的鼠标跟踪气泡显示。</li>

<li>plotOptions.area.events.checkboxClick:数据图表中图注中复选框的点击事件。</li>

<li>plotOptions.area.events.click:数据图表中,数据点的点击事件。</li>

<li>plotOptions.area.events.hide:数据图表中,某一数据序列隐藏时的事件。</li>

<li>plotOptions.area.events.show:数据图表中,某一数据序列显示时的事件。</li>

<li>plotOptions.area.events.legendItemClick:数据图表中,图注中的项目被点击时的事件,直接赋值false,则不可点击。</li>

<li>plotOptions.area.events.mouseOut:数据点的鼠标移出事件。</li>

<li>plotOptions.area.events.mouseOver:数据点的鼠标经过事件。</li>

<li>plotOptions.area.marker.enabled:图表中绘图中是否显示点的标记符。</li>

<li>plotOptions.area.marker.states.hover.enabled:是否允许标记符的鼠标经过状态。</li>

<li>plotOptions.area.marker.states.select.enabled:是否允许标记符的选择状态。</li>

<li>plotOptions.area.point.events.click:图表中每一个单独的点点击事件。</li>

<li>plotOptions.area.point.events.mouseOut</li>

<li>plotOptions.area.point.events..mouseOver</li>

<li>plotOptions.area.point.events.remove:删除图表中的点时的事件。</li>

<li>plotOptions.area.point.events.select:图表中点选择事件。</li>

<li>plotOptions.area.point.events.unselect:图表中点取消选择时的事件。</li>

<li>plotOptions.area.point.events.update:图表中数据发生更新时的事件。</li>

<li>plotOptions.area.visible:加载时,数据序列默认是显示还是隐藏。</li>

<li>plotOptions.area.zIndex:在多序列的情况下,调整每一个序列的层叠顺序。</li>

<li>以上的point.events同样还适用于其他面积类图表(arearange、areaspline、areasplinerange),其他的柱状图(bar、column)及所有图表。</li>

<li>plotOptions.area.showInLegend:是否在图注中显示。</li>

<li>plotOptions.area.stacking:是以值堆叠,还是以百分比堆叠。</li>

<li>plotOptions.area.states.hover.enabled:鼠标放上的状态是否允许。</li>

<li>plotOptions.area.stickyTracking:鼠标粘性跟踪数据点。</li>

<li>plotOptions.arearange,plotOptions.areaspline,plotOptions.areasplinerange类同于plotOptions.area</li>

<ul></ul>

<li>plotOptions.bar.groupPadding:对于柱状图分组,每个分组之间的间隔。</li>

<li>plotOptions.bar.grouping:是否对数据进行分组。</li>

<li>plotOptions.bar.minPointLength::定义当point值为零时,点的最小长度为多少</li>

<li>plotOptions.bar.showInLegend:是否在图注中显示。</li>

<li>plotOptions.bar.stacking:是以值堆叠,还是以百分比堆叠(normal/percent)。</li>

<li>plotOptions.column,plotOptions.columnrange类同于plotOptions.bar</li>

<ul></ul>

<li>plotOptions.line的相关配置类似于plotOptions.area配置。</li>

<li>plotOptions.pie.ignoreHiddenPoint:在饼状图中,某一个序列经图注点击隐藏后,整个饼状图是重新以100%分配,还是只在原图基础上隐藏,呈现一个缺口。</li>

<li>plotOptions.pie.innerSize:绘制饼状图时,饼状图的圆心预留多大的空白。</li>

<li>plotOptions.pie.slicedOffset:与allowPointSelect结合使用,当点被点击时,对应的扇区剥离,这个参数即配置离开的距离。</li>

<li>plotOptions.pie的其他常用配置参数类同于plotOptions.area,plotOptions.scatter,plotOptions.series,plotOptions.spline的相关配置类似于plotOptions.area配置。</li>
</ul>

<h3>8、Tooltip:数据点提示框</h3>

<p>Tooltip用于设置当鼠标滑向数据点时显示的提示框信息。</p>

<ul>
<li>enabled:是否显示提示框。默认值:true</li>

<li>backgroundColor:设置提示框的背景色。默认值:rgba(255, 255, 255, .85)</li>

<li>borderColor:提示框边框颜色,默认自动匹配数据列的颜色。默认值:auto</li>

<li>borderRadius:提示框圆角度。默认值:5</li>

<li>shadow:是否显示提示框阴影。默认值:true</li>

<li>style:设置提示框内容样式,如字体颜色等。默认值:color:'#333'</li>

<li>formatter:回调函数,用于格式化输出提示框的显示内容。返回的内容支持html标签如:b, strong, i, em, br, span。默认值:2
    <ul>
      <li>tooltip.valueDecimals:允许的小数点位数。</li>

      <li>tooltip.percentageDecimals:允许百分比的小数点后位数。</li>
</ul>
</li>
</ul>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
   <span style="background-color: rgba(255, 255, 0, 1)">valueSuffix</span>: </span>'\xB0C'<span style="color: rgba(0, 0, 0, 1)">
}</span></pre>
</div>

<h3>9、Legend:图例选项</h3>

<p>legend用于设置图例相关属性。</p>

<ul>
<li>layout:显示形式,支持水平horizontal和垂直vertical。默认值:horizontal</li>

<li>align:对齐方式。。默认值:center</li>

<li>backgroundColor:图例背景色。。默认值:null</li>

<li>borderColor:图例边框颜色。。默认值:#909090</li>

<li>borderRadius:图例边框角度。默认值:5</li>

<li>enabled:是否显示图例。默认值:true</li>

<li>floating:是否可以浮动,配合x,y属性。。默认值:false</li>

<li>shadow:是否显示阴影。默认值:false</li>

<li>style:设置图例内容样式。默认值:''</li>
</ul>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> legend =<span style="color: rgba(0, 0, 0, 1)"> {
   <span style="background-color: rgba(255, 255, 0, 1)">layout</span>: </span>'vertical'<span style="color: rgba(0, 0, 0, 1)">,
   <span style="background-color: rgba(255, 255, 0, 1)">align</span>: </span>'right'<span style="color: rgba(0, 0, 0, 1)">,
   <span style="background-color: rgba(255, 255, 0, 1)">verticalAlign</span>: </span>'middle'<span style="color: rgba(0, 0, 0, 1)">,
   <span style="background-color: rgba(255, 255, 0, 1)">borderWidth</span>: </span>0<span style="color: rgba(0, 0, 0, 1)">
};</span></pre>
</div>

<p>更多详细信息请参照highcharts官网英文文档:http://api.highcharts.com/highcharts</p>

<h2>四、曲线图</h2>

<h3>1、基础曲线图</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'城市平均气温'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Source: runoob.com'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
   <span style="background-color: rgba(255, 255, 0, 1)"> categories: [</span></span><span style="background-color: rgba(255, 255, 0, 1)">'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'<span style="color: rgba(0, 0, 0, 1)">,</span>'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'</span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">]</span>
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      title: {
         text: </span>'Temperature (\xB0C)'<span style="color: rgba(0, 0, 0, 1)">
      },
      plotLines: [{
         value: </span>0<span style="color: rgba(0, 0, 0, 1)">,
         width: </span>1<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'#808080'<span style="color: rgba(0, 0, 0, 1)">
      }]
   };   

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      valueSuffix: </span>'\xB0C'<span style="color: rgba(0, 0, 0, 1)">
   }

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> legend =<span style="color: rgba(0, 0, 0, 1)"> {
      layout: </span>'vertical'<span style="color: rgba(0, 0, 0, 1)">,
      align: </span>'right'<span style="color: rgba(0, 0, 0, 1)">,
      verticalAlign: </span>'middle'<span style="color: rgba(0, 0, 0, 1)">,
      borderWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">
   };

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series =<span style="color: rgba(0, 0, 0, 1)">[
      {
         <span style="background-color: rgba(255, 255, 0, 1)">name</span>: </span>'Tokyo'<span style="color: rgba(0, 0, 0, 1)">,
         <span style="background-color: rgba(255, 255, 0, 1)">data</span>: [</span>7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2<span style="color: rgba(0, 0, 0, 1)">,</span>26.5, 23.3, 18.3, 13.9, 9.6<span style="color: rgba(0, 0, 0, 1)">]
      },
      {
         <span style="background-color: rgba(255, 255, 0, 1)">name</span>: </span>'New York'<span style="color: rgba(0, 0, 0, 1)">,
         <span style="background-color: rgba(255, 255, 0, 1)">data</span>: [</span>-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8<span style="color: rgba(0, 0, 0, 1)">,   </span>24.1, 20.1, 14.1, 8.6, 2.5<span style="color: rgba(0, 0, 0, 1)">]
      },
      {
         <span style="background-color: rgba(255, 255, 0, 1)">name</span>: </span>'London'<span style="color: rgba(0, 0, 0, 1)">,
         <span style="background-color: rgba(255, 255, 0, 1)">data</span>: [</span>3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0<span style="color: rgba(0, 0, 0, 1)">,</span>16.6, 14.2, 10.3, 6.6, 4.8<span style="color: rgba(0, 0, 0, 1)">]
      }
   ];

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};

   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.legend </span>=<span style="color: rgba(0, 0, 0, 1)"> legend;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;

   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);
});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161744930-376690462.png" width="615" height="421"></p>

<h3>2、带有数据标签曲线图表</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="background-color: rgba(255, 255, 0, 1)"><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      line: {
         dataLabels: {
            enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
         },   
         enableMouseTracking: </span><span style="color: rgba(0, 0, 255, 1)">false</span></span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">
      }
   };</span>
</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161745774-594218203.png" width="602" height="423"></p>

<h3>3、异步加载数据曲线图表</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Daily visits at www.highcharts.com'<span style="color: rgba(0, 0, 0, 1)">   
   };
</span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Source: Google Analytics'<span style="color: rgba(0, 0, 0, 1)">
   };
</span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      <span style="background-color: rgba(255, 255, 0, 1)">tickInterval</span>: </span>7 * 24 * 3600 * 1000, <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 以每周为间隔设置 X 轴:one week</span>
      <span style="background-color: rgba(255, 255, 0, 1)">tickWidth</span>: 0<span style="color: rgba(0, 0, 0, 1)">,
      gridLineWidth: </span>1<span style="color: rgba(0, 0, 0, 1)">,
      labels: {
         align: </span>'left'<span style="color: rgba(0, 0, 0, 1)">,
         x: </span>3<span style="color: rgba(0, 0, 0, 1)">,
         y: </span>-3<span style="color: rgba(0, 0, 0, 1)">
      }
   };</span></pre>

<pre><span style="color: rgba(0, 0, 0, 1)"><br></span></pre>

<pre><span style="color: rgba(0, 0, 0, 1)"></span><span color="#008000"> //以每周为间隔设置 Y 轴:</span></pre>

<pre><span style="color: rgba(0, 0, 0, 1)"><span color="#008000">   //配置两个 Y 轴:</span></span></pre>

<pre><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis = [{ <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 左边 Y 轴</span></pre>

<pre><span style="color: rgba(0, 128, 0, 1)"></span><span style="color: rgba(0, 0, 0, 1)">         title: {
            text: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">
         },
         labels: {
            align: </span>'left'<span style="color: rgba(0, 0, 0, 1)">,
            x: </span>3<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>16<span style="color: rgba(0, 0, 0, 1)">,
            <span style="background-color: rgba(255, 255, 0, 1)">format</span>: </span>'{value:.,0f}'<span style="color: rgba(0, 0, 0, 1)">
         },
         showFirstLabel: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
      },{ </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 右边 Y 轴</span></pre>

<pre><span style="color: rgba(0, 128, 0, 1)"></span>         linkedTo: 0<span style="color: rgba(0, 0, 0, 1)">,
         gridLineWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">,
         opposite: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
         title: {
            text: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">
         },
         labels: {
            align: </span>'right'<span style="color: rgba(0, 0, 0, 1)">,
            x: </span>-3<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>16<span style="color: rgba(0, 0, 0, 1)">,
            <span style="background-color: rgba(255, 255, 0, 1)">format</span>: </span>'{value:.,0f}'<span style="color: rgba(0, 0, 0, 1)">
         },
         showFirstLabel: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
      }
   ];   

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      shared: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
      crosshairs: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
   }

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> legend =<span style="color: rgba(0, 0, 0, 1)"> {
      align: </span>'left'<span style="color: rgba(0, 0, 0, 1)">,
      verticalAlign: </span>'top'<span style="color: rgba(0, 0, 0, 1)">,
      y: </span>20<span style="color: rgba(0, 0, 0, 1)">,
      floating: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
      borderWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">
   };

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> <span style="background-color: rgba(255, 255, 0, 1)">plotOptions</span> =<span style="color: rgba(0, 0, 0, 1)"> { <span color="#008000">//plotOptions用于设置图表中的数据点相关属性。</span>
      <span style="background-color: rgba(255, 255, 0, 1)">series</span>: {
         cursor: </span>'pointer'<span style="color: rgba(0, 0, 0, 1)">,
         <span style="background-color: rgba(255, 255, 0, 1)">point</span>: {
            <span style="background-color: rgba(255, 255, 0, 1)">events</span>: {
               click: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> (e) {
                  hs.htmlExpand(</span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">, {
                     pageOrigin: {
                        x: e.pageX </span>||<span style="color: rgba(0, 0, 0, 1)"> e.clientX,
                        y: e.pageY </span>||<span style="color: rgba(0, 0, 0, 1)"> e.clientY
                     },
                     <span style="background-color: rgba(255, 255, 0, 1)">headingText</span>: </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.series.name,
                     <span style="background-color: rgba(255, 255, 0, 1)">maincontentText</span>: Highcharts.dateFormat(</span>'%A, %b %e, %Y', <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.x)   </span>+ ':<br> ' + <span style="color: rgba(0, 0, 255, 1)">this</span>.y + ' visits'<span style="color: rgba(0, 0, 0, 1)">,
                     width: </span>200<span style="color: rgba(0, 0, 0, 1)">
                  });
               }
            }
         },
         marker: {
            lineWidth: </span>1<span style="color: rgba(0, 0, 0, 1)">
         }
      }
   }
   
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series =<span style="color: rgba(0, 0, 0, 1)">[{
         name: </span>'All visits'<span style="color: rgba(0, 0, 0, 1)">,
         lineWidth: </span>4<span style="color: rgba(0, 0, 0, 1)">,
         marker: {
            radius: </span>4<span style="color: rgba(0, 0, 0, 1)">
         }
      }, {
         name: </span>'New visitors'<span style="color: rgba(0, 0, 0, 1)">
      }]

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};

   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.legend </span>=<span style="color: rgba(0, 0, 0, 1)"> legend;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   
   $.getJSON(</span>'http://www.highcharts.com/samples/data/jsonp.php?filename=analytics.csv&amp;callback=?', <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> (<span style="background-color: rgba(255, 255, 0, 1)">csv</span>) {
      </span><span style="color: rgba(0, 0, 255, 1)">var</span> data =<span style="color: rgba(0, 0, 0, 1)"> {
         csv: csv
      };
      <span style="background-color: rgba(255, 255, 0, 1)">json.data </span></span><span style="background-color: rgba(255, 255, 0, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)"> data;</span>
      $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);
   });   
});</span></pre>
</div>

<p>尝试一下 »</p>

<p>返回的文件内容:</p>

<blockquote>
<p>callback("# ----------------------------------------\n
    <br> # highcharts.com\n# Audience Overview\n# 20171217-20180117\n

    <br> # ----------------------------------------\n

    <br> Day Index,<span style="background-color: rgba(255, 255, 0, 1)">Users</span>,<span style="background-color: rgba(255, 255, 0, 1)">Sessions</span>\n

    <br> 12/18/17,\"40,585\",\"48,351\"\n

    <br> 12/19/17,\"43,039\",\"51,499\"\n

    <br> ........</p>

<p>12/20/17,\"44,926\",\"53,359\"\n
    <br> 1/17/18,\"41,840\",\"50,285\"

    <br> ");</p>
</blockquote>

<p><img title="image" style="border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161746703-628825636.png" width="582" height="420"></p>

<h3>4、基于时间的,可缩放的曲线图表</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
      <span style="background-color: rgba(255, 255, 0, 1)">zoomType: </span></span><span style="background-color: rgba(255, 255, 0, 1)">'x'</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'USD to EUR exchange rate from 2006 through 2008'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: document.ontouchstart </span>=== undefined ?
                  'Click and drag in the plot area to zoom in'<span style="color: rgba(0, 0, 0, 1)"> :
                  </span>'Pinch the chart to zoom in'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      <span style="background-color: rgba(255, 255, 0, 1)">type</span>: </span>'datetime'<span style="color: rgba(0, 0, 0, 1)">,
      <span style="background-color: rgba(255, 255, 0, 1)">minRange</span>: </span>14 * 24 * 3600000 <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 14 天</span>
<span style="color: rgba(0, 0, 0, 1)">   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      title: {
         text: </span>'Exchange rate'<span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> legend =<span style="color: rgba(0, 0, 0, 1)"> {
      enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> <span style="background-color: rgba(255, 255, 0, 1)">plotOptions</span> =<span style="color: rgba(0, 0, 0, 1)"> {
      area: {
         fillColor: {
            linearGradient: { x1: </span>0, y1: 0, x2: 0, y2: 1<span style="color: rgba(0, 0, 0, 1)">},
            stops: [
               [</span>0, Highcharts.getOptions().colors],
               [</span>1, Highcharts.Color(Highcharts.getOptions().colors).setOpacity(0).get('rgba'<span style="color: rgba(0, 0, 0, 1)">)]
            ]
         },
         marker: {
            radius: </span>2<span style="color: rgba(0, 0, 0, 1)">
         },
         lineWidth: </span>1<span style="color: rgba(0, 0, 0, 1)">,
         states: {
            hover: {
               lineWidth: </span>1<span style="color: rgba(0, 0, 0, 1)">
            }
         },
         threshold: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      type: </span>'area'<span style="color: rgba(0, 0, 0, 1)">,
      name: </span>'USD to EUR'<span style="color: rgba(0, 0, 0, 1)">,
      pointInterval: </span>24 * 3600 * 1000<span style="color: rgba(0, 0, 0, 1)">,
      pointStart: Date.UTC(</span>2006, 0, 1<span style="color: rgba(0, 0, 0, 1)">),
      data: [
         </span>0.8446, 0.8445, 0.8444, 0.8451,    0.8418, 0.8264,    0.8258, 0.8232,    0.8233, 0.8258<span style="color: rgba(0, 0, 0, 1)">,
         </span>0.8283, 0.8278, 0.8256, 0.8292,    0.8239, 0.8239,    0.8245, 0.8265,    0.8261, 0.8269<span style="color: rgba(0, 0, 0, 1)">,
         </span>0.8273, 0.8244, 0.8244, 0.8172,    0.8139, 0.8146,    0.8164, 0.82,    0.8269, 0.8269<span style="color: rgba(0, 0, 0, 1)">,
         </span>0.8269, 0.8258, 0.8247, 0.8286,    0.8289, 0.8316,    0.832, 0.8333,    0.8352, 0.8357<span style="color: rgba(0, 0, 0, 1)">,
         </span>0.8355, 0.8354, 0.8403, 0.8403,    0.8406, 0.8403,    0.8396, 0.8418,    0.8409, 0.8384<span style="color: rgba(0, 0, 0, 1)">,
         </span>0.8386, 0.8372, 0.839, 0.84<span style="color: rgba(0, 0, 0, 1)">,
         ]
      }
   ];
   
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.legend </span>=<span style="color: rgba(0, 0, 0, 1)"> legend;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161747578-179676415.png" width="617" height="408"></p>

<h3>5、X 轴翻转曲线图</h3>

<p>配置图表类型 type 为 spline。chart.type 默认为 "line"。 </p>

<p>配置 X 轴翻转。inverted 设置为 true 即 X 轴翻转,默认为 false。</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
      <span style="background-color: rgba(255, 255, 0, 1)">type: </span></span><span style="background-color: rgba(255, 255, 0, 1)">'spline'</span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">,</span>
      <span style="background-color: rgba(255, 255, 0, 1)">inverted: </span></span><span style="color: rgba(0, 0, 255, 1)"><span style="background-color: rgba(255, 255, 0, 1)">true</span></span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Atmosphere Temperature by Altitude'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'According to the Standard Atmosphere Model'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      reversed: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
      title: {
         enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
         text: </span>'Altitude'<span style="color: rgba(0, 0, 0, 1)">
      },
      labels: {
         formatter: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
            </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">this</span>.value + 'km'<span style="color: rgba(0, 0, 0, 1)">;
         }
      },
      maxPadding: </span>0.05<span style="color: rgba(0, 0, 0, 1)">,
      showLastLabel: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      title: {
         text: </span>'Temperature'<span style="color: rgba(0, 0, 0, 1)">
      },
      labels: {
         formatter: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
            </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">this</span>.value + '\xB0'<span style="color: rgba(0, 0, 0, 1)">;
         }
      },
      lineWidth: </span>2<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> legend =<span style="color: rgba(0, 0, 0, 1)"> {
      enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      headerFormat: </span>'<b>{series.name}</b><br>'<span style="color: rgba(0, 0, 0, 1)">,
      pointFormat: </span>'{point.x} km: {point.y}\xB0C'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      spline: {
         marker: {
            enable: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
         }
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      name: </span>'Temperature'<span style="color: rgba(0, 0, 0, 1)">,
      data: [[</span>0, 15], , , , ,
            [</span>50, -2.5], , , ]
   }];      
   
   
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.legend </span>=<span style="color: rgba(0, 0, 0, 1)"> legend;
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161748383-1124487456.png" width="580" height="409"></p>

<h3>6、带标记曲线图</h3>

<p>我们使用 marker.symbol 属性来配置标记。标记可以是 'square', 'diamond' 或 图片 url。标记可以添加在任何的数据点上: </p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
      type: </span>'spline'<span style="color: rgba(0, 0, 0, 1)">      
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Monthly Average Temperature'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Source: WorldClimate.com'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      categories: [</span>'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'<span style="color: rgba(0, 0, 0, 1)">,
         </span>'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'<span style="color: rgba(0, 0, 0, 1)">]
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      title: {
         text: </span>'Temperature'<span style="color: rgba(0, 0, 0, 1)">
      },
      labels: {
         formatter: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
            </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">this</span>.value + '\xB0'<span style="color: rgba(0, 0, 0, 1)">;
         }
      },
      lineWidth: </span>2<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      crosshairs: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
      shared: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      spline: {
         marker: {
            radius: </span>4<span style="color: rgba(0, 0, 0, 1)">,
            lineColor: </span>'#666666'<span style="color: rgba(0, 0, 0, 1)">,
            lineWidth: </span>1<span style="color: rgba(0, 0, 0, 1)">
         }
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
         name: </span>'Tokyo'<span style="color: rgba(0, 0, 0, 1)">,
         marker: {
            symbol: </span>'square'<span style="color: rgba(0, 0, 0, 1)">
         },
         data: [</span>7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2<span style="color: rgba(0, 0, 0, 1)">, {
            y: </span>26.5<span style="color: rgba(0, 0, 0, 1)">,
            marker: {
               symbol: </span>'url(http://www.highcharts.com/demo/gfx/sun.png)'<span style="color: rgba(0, 0, 0, 1)">
            }
         }, </span>23.3, 18.3, 13.9, 9.6<span style="color: rgba(0, 0, 0, 1)">]
      }, {
         name: </span>'London'<span style="color: rgba(0, 0, 0, 1)">,
       <span style="background-color: rgba(255, 255, 0, 1)">marker: {
            symbol: </span></span><span style="background-color: rgba(255, 255, 0, 1)">'diamond'</span><span style="color: rgba(0, 0, 0, 1)">
         },
         data: [{
            y: </span>3.9<span style="color: rgba(0, 0, 0, 1)">,
            marker: {
               symbol: </span>'url(http://www.highcharts.com/demo/gfx/snow.png)'<span style="color: rgba(0, 0, 0, 1)">
            }
         }, </span>4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8<span style="color: rgba(0, 0, 0, 1)">]
      }
   ];      
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161749327-955836847.png" width="567" height="412"></p>

<h3>7、标示区曲线图</h3>

<p>使用 yAxis.plotBands 属性来配置标示区。区间范围使用 'from' 和 'to' 属性。颜色设置使用 'color' 属性。标签样式使用 'label' 属性。 </p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
      type: </span>'spline'<span style="color: rgba(0, 0, 0, 1)">      
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Wind speed during two days'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'October 6th and 7th 2009 at two locations in Vik i Sogn, Norway'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      type: </span>'datetime'<span style="color: rgba(0, 0, 0, 1)">,
      labels: {
         overflow: </span>'justify'<span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      title: {
         text: </span>'Wind speed (m/s)'<span style="color: rgba(0, 0, 0, 1)">
      },
      min: </span>0<span style="color: rgba(0, 0, 0, 1)">,
      minorGridLineWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">,
      gridLineWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">,
      alternateGridColor: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
      <span style="background-color: rgba(255, 255, 0, 1)">plotBands</span>: [{ </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Light air</span>
         <span style="background-color: rgba(255, 255, 0, 1)">from</span>: 0.3<span style="color: rgba(0, 0, 0, 1)">,
         <span style="background-color: rgba(255, 255, 0, 1)">to</span>: </span>1.5<span style="color: rgba(0, 0, 0, 1)">,
         <span style="background-color: rgba(255, 255, 0, 1)">color</span>: </span>'rgba(68, 170, 213, 0.1)'<span style="color: rgba(0, 0, 0, 1)">,
         <span style="background-color: rgba(255, 255, 0, 1)">label</span>: {
            text: </span>'Light air'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               color: </span>'#606060'<span style="color: rgba(0, 0, 0, 1)">
            }
         }
      }, { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Light breeze</span>
         from: 1.5<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>3.3<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'rgba(0, 0, 0, 0)'<span style="color: rgba(0, 0, 0, 1)">,
         label: {
            text: </span>'Light breeze'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               color: </span>'#606060'<span style="color: rgba(0, 0, 0, 1)">
            }
         }
      }, { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Gentle breeze</span>
         from: 3.3<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>5.5<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'rgba(68, 170, 213, 0.1)'<span style="color: rgba(0, 0, 0, 1)">,
         label: {
            text: </span>'Gentle breeze'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               color: </span>'#606060'<span style="color: rgba(0, 0, 0, 1)">
            }   
         }
      }, { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Moderate breeze</span>
         from: 5.5<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>8<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'rgba(0, 0, 0, 0)'<span style="color: rgba(0, 0, 0, 1)">,
         label: {
            text: </span>'Moderate breeze'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               color: </span>'#606060'<span style="color: rgba(0, 0, 0, 1)">
            }
         }
      }, { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Fresh breeze</span>
         from: 8<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>11<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'rgba(68, 170, 213, 0.1)'<span style="color: rgba(0, 0, 0, 1)">,
         label: {
            text: </span>'Fresh breeze'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               color: </span>'#606060'<span style="color: rgba(0, 0, 0, 1)">
            }
         }
      }, { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Strong breeze</span>
         from: 11<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>14<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'rgba(0, 0, 0, 0)'<span style="color: rgba(0, 0, 0, 1)">,
         label: {
            text: </span>'Strong breeze'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               color: </span>'#606060'<span style="color: rgba(0, 0, 0, 1)">
            }
         }   
      }, { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> High wind</span>
         from: 14<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>15<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'rgba(68, 170, 213, 0.1)'<span style="color: rgba(0, 0, 0, 1)">,
         label: {
            text: </span>'High wind'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               color: </span>'#606060'<span style="color: rgba(0, 0, 0, 1)">
            }
         }
      }]
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      valueSuffix: </span>' m/s'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      spline: {
         lineWidth: </span>4<span style="color: rgba(0, 0, 0, 1)">,
         states: {
            hover: {
               lineWidth: </span>5<span style="color: rgba(0, 0, 0, 1)">
            }
         },
         marker: {
            enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
         },
         pointInterval: </span>3600000, <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> one hour</span>
         pointStart: Date.UTC(2009, 9, 6, 0, 0, 0<span style="color: rgba(0, 0, 0, 1)">)
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
         name: </span>'Vik i Sogn'<span style="color: rgba(0, 0, 0, 1)">,      
         data: [</span>4.3, 5.1, 4.3, 5.2, 5.4, 4.7, 3.5, 4.1, 5.6, 7.4, 6.9, 7.1<span style="color: rgba(0, 0, 0, 1)">,
         </span>7.9, 7.9, 7.5, 6.7, 7.7, 7.7, 7.4, 7.0, 7.1, 5.8, 5.9, 7.4<span style="color: rgba(0, 0, 0, 1)">,
         </span>8.2, 8.5, 9.4, 8.1, 10.9, 10.4, 10.9, 12.4, 12.1, 9.5, 7.5<span style="color: rgba(0, 0, 0, 1)">,
         </span>7.1, 7.5, 8.1, 6.8, 3.4, 2.1, 1.9, 2.8, 2.9, 1.3, 4.4, 4.2<span style="color: rgba(0, 0, 0, 1)">,
         </span>3.0, 3.0<span style="color: rgba(0, 0, 0, 1)">]
      }, {
         name: </span>'Norway'<span style="color: rgba(0, 0, 0, 1)">,
         data: [</span>0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.3, 0.0<span style="color: rgba(0, 0, 0, 1)">,
         </span>0.0, 0.4, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0<span style="color: rgba(0, 0, 0, 1)">,
         </span>0.0, 0.6, 1.2, 1.7, 0.7, 2.9, 4.1, 2.6, 3.7, 3.9, 1.7, 2.3<span style="color: rgba(0, 0, 0, 1)">,
         </span>3.0, 3.3, 4.8, 5.0, 4.8, 5.0, 3.2, 2.0, 0.9, 0.4, 0.3, 0.5, 0.4<span style="color: rgba(0, 0, 0, 1)">]
   }];   
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> navigation =<span style="color: rgba(0, 0, 0, 1)"> {
      menuItemStyle: {
         fontSize: </span>'10px'<span style="color: rgba(0, 0, 0, 1)">
      }
   }   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   json.navigation </span>=<span style="color: rgba(0, 0, 0, 1)"> navigation;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161750550-1805160021.png" width="592" height="398"></p>

<h3>8、不规则时间间隔图表</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
      type: </span>'spline'<span style="color: rgba(0, 0, 0, 1)">      
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Snow depth at Vikjafjellet, Norway'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Irregular time data in Highcharts JS'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      type: </span>'datetime'<span style="color: rgba(0, 0, 0, 1)">,
      <span style="background-color: rgba(255, 255, 0, 1)">dateTimeLabelFormats</span>: { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> don't display the dummy year</span>
         month: '%e. %b'<span style="color: rgba(0, 0, 0, 1)">,
         year: </span>'%b'<span style="color: rgba(0, 0, 0, 1)">
      },
      title: {
         text: </span>'Date'<span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      title: {
         text: </span>'Snow depth (m)'<span style="color: rgba(0, 0, 0, 1)">
      },
      min: </span>0<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      headerFormat: </span>'<b>{series.name}</b><br>'<span style="color: rgba(0, 0, 0, 1)">,
      pointFormat: </span>'{point.x:%e. %b}: {point.y:.2f} m'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      spline: {
         marker: {
            enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
         }
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
         name: </span>'Winter 2007-2008'<span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Define the data points. All series have a dummy year</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> of 1970/71 in order to be compared on the same x axis. Note</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> that in JavaScript, months start at 0 for January, 1 for February etc.</span>
<span style="color: rgba(0, 0, 0, 1)">         data: [
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
            
         ]
      }, {
         name: </span>'Winter 2008-2009'<span style="color: rgba(0, 0, 0, 1)">,
         data: [
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
            
         ]
      }, {
         name: </span>'Winter 2009-2010'<span style="color: rgba(0, 0, 0, 1)">,
         data: [
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
             ,
            
         ]
      }
   ];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161751442-797035858.png" width="585" height="400"></p>

<h3>9、对数图表</h3>

<p>配置 yAxis.type 为 'logarithmic'。它定义了 x 轴类型。可选值有 "linear", "logarithmic", "datetime" 或 "category"。默认值为linear。 </p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'对数实例(runoob.com)'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      tickInterval: </span>1<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      type: </span><span style="background-color: rgba(255, 255, 0, 1)">'logarithmic'</span><span style="color: rgba(0, 0, 0, 1)">,
      <span style="background-color: rgba(255, 255, 0, 1)">minorTickInterval</span>: </span>0.1<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      headerFormat: </span>'<b>{series.name}</b><br>'<span style="color: rgba(0, 0, 0, 1)">,
      pointFormat: </span>'x = {point.x}, y = {point.y}'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      spline: {
         marker: {
            enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
         }
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
         name: </span>'data'<span style="color: rgba(0, 0, 0, 1)">,
         data: [</span>1, 2, 4, 8, 16, 32, 64, 128, 256, 512<span style="color: rgba(0, 0, 0, 1)">],
         pointStart: </span>1<span style="color: rgba(0, 0, 0, 1)">
      }
   ];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};   
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;   
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110161752227-999972089.png" width="624" height="410"></p>

<h2>五、条形图</h2>

<h3>1、基本条形图</h3>

<p>设置 chart 的 type 属性 为 bar ,chart.type 描述了图表类型。默认值为 "line"。</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
      <span style="background-color: rgba(255, 255, 0, 1)">type: </span></span><span style="background-color: rgba(255, 255, 0, 1)">'bar'</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Historic World Population by Region'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Source: Wikipedia.org'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      categories: [</span>'Africa', 'America', 'Asia', 'Europe', 'Oceania'<span style="color: rgba(0, 0, 0, 1)">],
      title: {
         text: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      min: </span>0<span style="color: rgba(0, 0, 0, 1)">,
      title: {
         text: </span>'Population (millions)'<span style="color: rgba(0, 0, 0, 1)">,
         align: </span>'high'<span style="color: rgba(0, 0, 0, 1)">
      },
      labels: {
         overflow: </span>'justify'<span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      valueSuffix: </span>' millions'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      bar: {
         dataLabels: {
            enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
         }
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> legend =<span style="color: rgba(0, 0, 0, 1)"> {
      layout: </span>'vertical'<span style="color: rgba(0, 0, 0, 1)">,
      align: </span>'right'<span style="color: rgba(0, 0, 0, 1)">,
      verticalAlign: </span>'top'<span style="color: rgba(0, 0, 0, 1)">,
      x: </span>-40<span style="color: rgba(0, 0, 0, 1)">,
      y: </span>100<span style="color: rgba(0, 0, 0, 1)">,
      floating: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
      borderWidth: </span>1<span style="color: rgba(0, 0, 0, 1)">,
      backgroundColor: ((Highcharts.theme </span>&amp;&amp; Highcharts.theme.legendBackgroundColor) || '#FFFFFF'<span style="color: rgba(0, 0, 0, 1)">),
      shadow: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> credits =<span style="color: rgba(0, 0, 0, 1)"> {
      enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
   };
   
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
         name: </span>'Year 1800'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>107, 31, 635, 203, 2<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            name: </span>'Year 1900'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>133, 156, 947, 408, 6<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            name: </span>'Year 2008'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>973, 914, 4054, 732, 34<span style="color: rgba(0, 0, 0, 1)">]      
      }
   ];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};   
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;   
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   json.legend </span>=<span style="color: rgba(0, 0, 0, 1)"> legend;
   json.credits </span>=<span style="color: rgba(0, 0, 0, 1)"> credits;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165643275-1236828385.png" width="580" height="392"></p>

<h3>2、堆叠条形图</h3>

<p>配置图表堆叠使用 plotOptions.series.stacking,并设置为 "normal"。</p>

<p>如果禁用堆叠可设置为 null , "normal" 通过值设置堆叠, "percent" 堆叠则按百分比。</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> <span style="background-color: rgba(255, 255, 0, 1)">plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> {
      bar: {
         dataLabels: {
            enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
         }
      },
      <span style="background-color: rgba(255, 255, 0, 1)">series</span>: {
         <span style="background-color: rgba(255, 255, 0, 1)">stacking</span>: </span>'normal'<span style="color: rgba(0, 0, 0, 1)">
      }
   };</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165644067-1045145873.png" width="598" height="401"></p>

<h3>3、反向条形图</h3>

<p>使用负值的,反向条形图。 </p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      name: </span>'John'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>5, 3, 4, 7, 2<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            name: </span>'Jane'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>2, <span style="background-color: rgba(255, 255, 0, 1)">-2, -3</span>, 2, 1<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            name: </span>'Joe'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>3, 4, 4, <span style="background-color: rgba(255, 255, 0, 1)">-2</span>, 5<span style="color: rgba(0, 0, 0, 1)">]
      }
   ];</span></pre>
</div>

<p>尝试一下 »</p>

<h2><img title="image" style="border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165644844-1813248151.png" width="565" height="384"></h2>

<h2>六 、柱形图</h2>

<h3>1、基本柱形图</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
   <span style="background-color: rgba(255, 255, 0, 1)"> type: </span></span><span style="background-color: rgba(255, 255, 0, 1)">'column'</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'每月平均降雨量'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Source: runoob.com'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      categories: [</span>'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'<span style="color: rgba(0, 0, 0, 1)">],
      crosshair: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      min: </span>0<span style="color: rgba(0, 0, 0, 1)">,
      title: {
         text: </span>'降雨量 (mm)'<span style="color: rgba(0, 0, 0, 1)">         
      }      
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      headerFormat: </span>'<span style="font-size: 10px">{point.key}</span>'<span style="color: rgba(0, 0, 0, 1)">,
      pointFormat: </span>'' +
         ''<span style="color: rgba(0, 0, 0, 1)">,
      footerFormat: </span>'<table><tbody><tr><td style="padding: 0">{series.name}: </td><td style="padding: 0"><b>{point.y:.1f} mm</b></td></tr></tbody></table>'<span style="color: rgba(0, 0, 0, 1)">,
      shared: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
      useHTML: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      column: {
         pointPadding: </span>0.2<span style="color: rgba(0, 0, 0, 1)">,
         borderWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> credits =<span style="color: rgba(0, 0, 0, 1)"> {
      enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
   };
   
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      name: </span>'Tokyo'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            name: </span>'New York'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            name: </span>'London'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            name: </span>'Berlin'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1<span style="color: rgba(0, 0, 0, 1)">]
   }];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};   
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;   
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   json.credits </span>=<span style="color: rgba(0, 0, 0, 1)"> credits;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165645626-19949967.png" width="563" height="420"></p>

<h3>2、反向柱形图</h3>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165646546-854753069.png" width="597" height="402"></p>

<h3>3、堆叠柱形图</h3>

<h3>4、堆叠组柱形图</h3>

<h3>5、按百分比堆叠柱形图</h3>

<h3>6、标签旋转柱形图</h3>

<h3>7、向下钻取柱形图</h3>

<h3>8、固定布局柱形图</h3>

<h3>9、使用 html 表格数据的柱形图</h3>

<h3>10、区间柱形图</h3>

<h2>七、饼图</h2>

<h3>1、基本饼图</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
       plotBackgroundColor: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
       plotBorderWidth: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
       plotShadow: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'2014 年各浏览器市场占有比例'<span style="color: rgba(0, 0, 0, 1)">   
   };      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      pointFormat: </span>'{series.name}: <b>{point.percentage:.1f}%</b>'<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      pie: {
         allowPointSelect: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
         cursor: </span>'pointer'<span style="color: rgba(0, 0, 0, 1)">,
         dataLabels: {
            enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
            format: </span>'<b>{point.name}%</b>: {point.percentage:.1f} %'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               color: (Highcharts.theme </span>&amp;&amp; Highcharts.theme.contrastTextColor) || 'black'<span style="color: rgba(0, 0, 0, 1)">
            }
         }
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      <span style="background-color: rgba(255, 255, 0, 1)">type: </span></span><span style="background-color: rgba(255, 255, 0, 1)">'pie'</span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">,</span>
      name: </span>'Browser share'<span style="color: rgba(0, 0, 0, 1)">,
      data: [
         [</span>'Firefox',   45.0<span style="color: rgba(0, 0, 0, 1)">],
         [</span>'IE',       26.8<span style="color: rgba(0, 0, 0, 1)">],
         {
            name: </span>'Chrome'<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>12.8<span style="color: rgba(0, 0, 0, 1)">,
            sliced: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
            selected: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
         },
         [</span>'Safari',    8.5<span style="color: rgba(0, 0, 0, 1)">],
         [</span>'Opera',   6.2<span style="color: rgba(0, 0, 0, 1)">],
         [</span>'Others',   0.7<span style="color: rgba(0, 0, 0, 1)">]
      ]
   }];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};   
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;   
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);
});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165647408-1411556554.png" width="546" height="431"></p>

<h3>2、显示图例饼图</h3>

<h3>3、圆环图</h3>

<h3>4、半圈圆环图</h3>

<h3>5、向下钻取饼图</h3>

<h3>6、渐变饼图</h3>

<h3>7、单色饼图</h3>

<h2>八、3D图</h2>

<h3>1、3D 柱形图</h3>

<p>设置 chart 的 type 属性为 column,options3d 选项可设置三维效果。</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
      renderTo: </span>'container'<span style="color: rgba(0, 0, 0, 1)">,
      <span style="background-color: rgba(255, 255, 0, 1)">type: </span></span><span style="background-color: rgba(255, 255, 0, 1)">'column'</span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">,</span>
      margin: </span>75<span style="color: rgba(0, 0, 0, 1)">,
      <span style="background-color: rgba(255, 255, 0, 1)">options3d</span>: {
         <span style="background-color: rgba(255, 255, 0, 1)">enabled: </span></span><span style="color: rgba(0, 0, 255, 1)"><span style="background-color: rgba(255, 255, 0, 1)">true</span></span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">,</span>
         alpha: </span>15<span style="color: rgba(0, 0, 0, 1)">,
         beta: </span>15<span style="color: rgba(0, 0, 0, 1)">,
         depth: </span>50<span style="color: rgba(0, 0, 0, 1)">,
         viewDistance: </span>25<span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'图表旋转实例'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> subtitle =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'通过拖动下面的滑块测试'<span style="color: rgba(0, 0, 0, 1)">
   };
   
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      column: {
         depth: </span>25<span style="color: rgba(0, 0, 0, 1)">
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      data: [</span>29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4<span style="color: rgba(0, 0, 0, 1)">]
   }];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};   
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;   
   json.subtitle </span>=<span style="color: rgba(0, 0, 0, 1)"> subtitle;   
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> highchart = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Highcharts.Chart(json);

   </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> showValues() {
      $(</span>'#R0-value'<span style="color: rgba(0, 0, 0, 1)">).html(highchart.options.chart.options3d.alpha);
      $(</span>'#R1-value'<span style="color: rgba(0, 0, 0, 1)">).html(highchart.options.chart.options3d.beta);
   }

   </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Activate the sliders</span>
   $('#R0').on('change', <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
      highchart.options.chart.options3d.alpha </span>= <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.value;
      showValues();
      highchart.redraw(</span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">);
   });
   $(</span>'#R1').on('change', <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
      highchart.options.chart.options3d.beta </span>= <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.value;
      showValues();
      highchart.redraw(</span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">);
   });

   showValues();
});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="margin: 0; border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165648328-1584253113.png" width="580" height="402"></p>

<h3>2、带空值的3D 柱形图</h3>

<h3>3、堆叠 3D 柱形图</h3>

<h3>4、3D 饼图</h3>

<h3>5、3D 圆环图 </h3>

<h2>九、测量图(仪表图)</h2>

<h3>1、测量图</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {      
   <span style="background-color: rgba(255, 255, 0, 1)"> type: </span></span><span style="background-color: rgba(255, 255, 0, 1)">'gauge'</span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">,</span>
      plotBackgroundColor: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
      plotBackgroundImage: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
      plotBorderWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">,
      plotShadow: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'车速表'<span style="color: rgba(0, 0, 0, 1)">   
   };   

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> pane =<span style="color: rgba(0, 0, 0, 1)"> {
      startAngle: </span>-150<span style="color: rgba(0, 0, 0, 1)">,
      endAngle: </span>150<span style="color: rgba(0, 0, 0, 1)">,
      background: [{
         backgroundColor: {
            linearGradient: { x1: </span>0, y1: 0, x2: 0, y2: 1<span style="color: rgba(0, 0, 0, 1)"> },
            stops: [
               [</span>0, '#FFF'<span style="color: rgba(0, 0, 0, 1)">],
               [</span>1, '#333'<span style="color: rgba(0, 0, 0, 1)">]
            ]
         },
         borderWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">,
         outerRadius: </span>'109%'<span style="color: rgba(0, 0, 0, 1)">
      }, {
         backgroundColor: {
            linearGradient: { x1: </span>0, y1: 0, x2: 0, y2: 1<span style="color: rgba(0, 0, 0, 1)"> },
            stops: [
               [</span>0, '#333'<span style="color: rgba(0, 0, 0, 1)">],
               [</span>1, '#FFF'<span style="color: rgba(0, 0, 0, 1)">]
            ]
         },
         borderWidth: </span>1<span style="color: rgba(0, 0, 0, 1)">,
         outerRadius: </span>'107%'<span style="color: rgba(0, 0, 0, 1)">
   }, {
         </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> default background</span>
<span style="color: rgba(0, 0, 0, 1)">   }, {
         backgroundColor: </span>'#DDD'<span style="color: rgba(0, 0, 0, 1)">,
         borderWidth: </span>0<span style="color: rgba(0, 0, 0, 1)">,
         outerRadius: </span>'105%'<span style="color: rgba(0, 0, 0, 1)">,
         innerRadius: </span>'103%'<span style="color: rgba(0, 0, 0, 1)">
   }]
   };

   </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> the value axis</span>
   <span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      min: </span>0<span style="color: rgba(0, 0, 0, 1)">,
      max: </span>200<span style="color: rgba(0, 0, 0, 1)">,

      minorTickInterval: </span>'auto'<span style="color: rgba(0, 0, 0, 1)">,
      minorTickWidth: </span>1<span style="color: rgba(0, 0, 0, 1)">,
      minorTickLength: </span>10<span style="color: rgba(0, 0, 0, 1)">,
      minorTickPosition: </span>'inside'<span style="color: rgba(0, 0, 0, 1)">,
      minorTickColor: </span>'#666'<span style="color: rgba(0, 0, 0, 1)">,

      tickPixelInterval: </span>30<span style="color: rgba(0, 0, 0, 1)">,
      tickWidth: </span>2<span style="color: rgba(0, 0, 0, 1)">,
      tickPosition: </span>'inside'<span style="color: rgba(0, 0, 0, 1)">,
      tickLength: </span>10<span style="color: rgba(0, 0, 0, 1)">,
      tickColor: </span>'#666'<span style="color: rgba(0, 0, 0, 1)">,
      labels: {
         step: </span>2<span style="color: rgba(0, 0, 0, 1)">,
         rotation: </span>'auto'<span style="color: rgba(0, 0, 0, 1)">
      },
      title: {
         text: </span>'km/h'<span style="color: rgba(0, 0, 0, 1)">
      },
      plotBands: [{
         from: </span>0<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>120<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'#55BF3B' <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> green</span>
<span style="color: rgba(0, 0, 0, 1)">      }, {
         from: </span>120<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>160<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'#DDDF0D' <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> yellow</span>
<span style="color: rgba(0, 0, 0, 1)">      }, {
         from: </span>160<span style="color: rgba(0, 0, 0, 1)">,
         to: </span>200<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'#DF5353' <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> red</span>
<span style="color: rgba(0, 0, 0, 1)">      }]
   };

   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      name: </span>'Speed'<span style="color: rgba(0, 0, 0, 1)">,
      data: [</span>80<span style="color: rgba(0, 0, 0, 1)">],
      tooltip: {
         valueSuffix: </span>' km/h'<span style="color: rgba(0, 0, 0, 1)">
      }
   }];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};   
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;      
   json.pane </span>=<span style="color: rgba(0, 0, 0, 1)"> pane;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;   
   
   </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Add some life</span>
   <span style="color: rgba(0, 0, 255, 1)">var</span> chartFunction = <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> (chart) {
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">chart.renderer.forExport) {
         setInterval(</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
         </span><span style="color: rgba(0, 0, 255, 1)">var</span> point = chart.series.points, newVal, inc = Math.round((Math.random() - 0.5) * 20<span style="color: rgba(0, 0, 0, 1)">);
         newVal </span>= point.y +<span style="color: rgba(0, 0, 0, 1)"> inc;
         </span><span style="color: rgba(0, 0, 255, 1)">if</span> (newVal &lt; 0 || newVal &gt; 200<span style="color: rgba(0, 0, 0, 1)">) {
            newVal </span>= point.y -<span style="color: rgba(0, 0, 0, 1)"> inc;
         }
         point.update(newVal);
         }, </span>3000<span style="color: rgba(0, 0, 0, 1)">);
      }
   };
   
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json,chartFunction);
});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165649256-363680298.png" width="448" height="405"></p>

<h3>2、圆形进度条式测量图</h3>

<h3>3、时钟</h3>

<h3>4、双轴车速表 </h3>

<h3>5、音量表(VU Meter)</h3>

<h2>十、组合图</h2>

<h3>1、柱形图,线条图,饼图</h3>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Combination chart'<span style="color: rgba(0, 0, 0, 1)">   
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      categories: [</span>'Apples', 'Oranges', 'Pears', 'Bananas', 'Plums'<span style="color: rgba(0, 0, 0, 1)">]
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> labels =<span style="color: rgba(0, 0, 0, 1)"> {
      items: [{
         html: </span>'水果消费'<span style="color: rgba(0, 0, 0, 1)">,
            style: {
               left: </span>'50px'<span style="color: rgba(0, 0, 0, 1)">,
               top: </span>'18px'<span style="color: rgba(0, 0, 0, 1)">,
               color: (Highcharts.theme </span>&amp;&amp; Highcharts.theme.textColor) || 'black'<span style="color: rgba(0, 0, 0, 1)">
            }
      }]
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      type: </span><span style="background-color: rgba(255, 255, 0, 1)">'column'</span><span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'Jane'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>3, 2, 1, 3, 4<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            type: </span>'column'<span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'John'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>2, 3, 5, 7, 6<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            type: </span>'column'<span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'Joe'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>4, 3, 3, 9, 0<span style="color: rgba(0, 0, 0, 1)">]
      }, {
            type: </span>'spline'<span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'Average'<span style="color: rgba(0, 0, 0, 1)">,
            data: [</span>3, 2.67, 3, 6.33, 3.33<span style="color: rgba(0, 0, 0, 1)">],
            marker: {
                lineWidth: </span>2<span style="color: rgba(0, 0, 0, 1)">,
                lineColor: Highcharts.getOptions().colors[</span>3<span style="color: rgba(0, 0, 0, 1)">],
                fillColor: </span>'white'<span style="color: rgba(0, 0, 0, 1)">
            }
      }, {
            type: </span><span style="background-color: rgba(255, 255, 0, 1)">'pie'</span><span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'总消费'<span style="color: rgba(0, 0, 0, 1)">,
            data: [{
                name: </span>'Jane'<span style="color: rgba(0, 0, 0, 1)">,
                y: </span>13<span style="color: rgba(0, 0, 0, 1)">,
                color: Highcharts.getOptions().colors[</span>0] <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Jane 的颜色</span>
<span style="color: rgba(0, 0, 0, 1)">            }, {
                name: </span>'John'<span style="color: rgba(0, 0, 0, 1)">,
                y: </span>23<span style="color: rgba(0, 0, 0, 1)">,
                color: Highcharts.getOptions().colors[</span>1] <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> John 的颜色</span>
<span style="color: rgba(0, 0, 0, 1)">            }, {
                name: </span>'Joe'<span style="color: rgba(0, 0, 0, 1)">,
                y: </span>19<span style="color: rgba(0, 0, 0, 1)">,
                color: Highcharts.getOptions().colors[</span>2] <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> Joe 的颜色</span>
<span style="color: rgba(0, 0, 0, 1)">            }],
            center: [</span>100, 80<span style="color: rgba(0, 0, 0, 1)">],
            size: </span>100<span style="color: rgba(0, 0, 0, 1)">,
            showInLegend: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            dataLabels: {
                enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
            }
      }
   ];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};   
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;   
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.labels </span>=<span style="color: rgba(0, 0, 0, 1)"> labels;
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);
});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165649662-1607674588.png" width="590" height="410"></p>

<h3>2、双Y轴, 柱形图,线条图</h3>

<h3>3、多Y轴</h3>

<h3>4、散点图上添加回归线</h3>

<h2>十一、动态图</h2>

<p>每秒更新曲线图</p>

<p>chart.event 属性中添加 load 方法(图表加载事件)。在 1000 毫秒内随机产生数据点并生成图表。</p>

<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); background-color: rgba(245, 245, 245, 1); border-image: none">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> chart =<span style="color: rgba(0, 0, 0, 1)"> {
      type: </span>'spline'<span style="color: rgba(0, 0, 0, 1)">,
      animation: Highcharts.svg, </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> don't animate in IE &lt; IE 10.</span>
      marginRight: 10<span style="color: rgba(0, 0, 0, 1)">,
      <span style="background-color: rgba(255, 255, 0, 1)">events</span>: {
         <span style="background-color: rgba(255, 255, 0, 1)">load</span>: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
            </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> set up the updating of the chart each second</span>
            <span style="color: rgba(0, 0, 255, 1)">var</span> series = <span style="color: rgba(0, 0, 255, 1)">this</span>.series;
            setInterval(</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
               </span><span style="color: rgba(0, 0, 255, 1)">var</span> x = (<span style="color: rgba(0, 0, 255, 1)">new</span> Date()).getTime(), <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> current time</span>
               y =<span style="color: rgba(0, 0, 0, 1)"> Math.random();
            <span style="background-color: rgba(255, 255, 0, 1)"> series.addPoint(, </span></span><span style="background-color: rgba(255, 255, 0, 1)"><span style="color: rgba(0, 0, 255, 1)">true</span>, <span style="color: rgba(0, 0, 255, 1)">true</span></span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">);</span>
            }, </span>1000<span style="color: rgba(0, 0, 0, 1)">);
         }
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> title =<span style="color: rgba(0, 0, 0, 1)"> {
      text: </span>'Live random data'<span style="color: rgba(0, 0, 0, 1)">   
   };   
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> xAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      type: </span>'datetime'<span style="color: rgba(0, 0, 0, 1)">,
      tickPixelInterval: </span>150<span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> yAxis =<span style="color: rgba(0, 0, 0, 1)"> {
      title: {
         text: </span>'Value'<span style="color: rgba(0, 0, 0, 1)">
      },
      plotLines: [{
         value: </span>0<span style="color: rgba(0, 0, 0, 1)">,
         width: </span>1<span style="color: rgba(0, 0, 0, 1)">,
         color: </span>'#808080'<span style="color: rgba(0, 0, 0, 1)">
      }]
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> tooltip =<span style="color: rgba(0, 0, 0, 1)"> {
      formatter: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
      </span><span style="color: rgba(0, 0, 255, 1)">return</span> '<b>' + <span style="color: rgba(0, 0, 255, 1)">this</span>.series.name + '</b><br>' +<span style="color: rgba(0, 0, 0, 1)">
         Highcharts.dateFormat(</span>'%Y-%m-%d %H:%M:%S', <span style="color: rgba(0, 0, 255, 1)">this</span>.x) + '<br>' +<span style="color: rgba(0, 0, 0, 1)">
         Highcharts.numberFormat(</span><span style="color: rgba(0, 0, 255, 1)">this</span>.y, 2<span style="color: rgba(0, 0, 0, 1)">);
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> plotOptions =<span style="color: rgba(0, 0, 0, 1)"> {
      area: {
         pointStart: </span>1940<span style="color: rgba(0, 0, 0, 1)">,
         marker: {
            enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            symbol: </span>'circle'<span style="color: rgba(0, 0, 0, 1)">,
            radius: </span>2<span style="color: rgba(0, 0, 0, 1)">,
            states: {
               hover: {
               enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
               }
            }
         }
      }
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> legend =<span style="color: rgba(0, 0, 0, 1)"> {
      enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> exporting =<span style="color: rgba(0, 0, 0, 1)"> {
      enabled: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
   };
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> series=<span style="color: rgba(0, 0, 0, 1)"> [{
      name: </span>'Random data'<span style="color: rgba(0, 0, 0, 1)">,
      data: (</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> () {
         </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> generate an array of random data</span>
         <span style="color: rgba(0, 0, 255, 1)">var</span> <span style="background-color: rgba(255, 255, 0, 1)">data = []</span>,time = (<span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Date()).getTime(),i;
         </span><span style="color: rgba(0, 0, 255, 1)">for</span> (i = -19; i &lt;= 0; i += 1<span style="color: rgba(0, 0, 0, 1)">) {
            <span style="background-color: rgba(255, 255, 0, 1)">data</span>.push({
               <span style="background-color: rgba(255, 255, 0, 1)">x</span>: time </span>+ i * 1000<span style="color: rgba(0, 0, 0, 1)">,
               <span style="background-color: rgba(255, 255, 0, 1)">y</span>: Math.random()
            });
         }
         </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> data;
      }())   
   }];   
      
   </span><span style="color: rgba(0, 0, 255, 1)">var</span> json =<span style="color: rgba(0, 0, 0, 1)"> {};   
   json.chart </span>=<span style="color: rgba(0, 0, 0, 1)"> chart;
   json.title </span>=<span style="color: rgba(0, 0, 0, 1)"> title;   
   json.tooltip </span>=<span style="color: rgba(0, 0, 0, 1)"> tooltip;
   json.xAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> xAxis;
   json.yAxis </span>=<span style="color: rgba(0, 0, 0, 1)"> yAxis;
   json.legend </span>=<span style="color: rgba(0, 0, 0, 1)"> legend;
   json.exporting </span>=<span style="color: rgba(0, 0, 0, 1)"> exporting;   
   json.series </span>=<span style="color: rgba(0, 0, 0, 1)"> series;
   json.plotOptions </span>=<span style="color: rgba(0, 0, 0, 1)"> plotOptions;
   
   
   Highcharts.setOptions({
      global: {
         useUTC: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
      }
   });
   $(</span>'#container'<span style="color: rgba(0, 0, 0, 1)">).highcharts(json);

});</span></pre>
</div>

<p>尝试一下 »</p>

<p><img title="image" style="border: 0 currentColor; display: inline; background-image: none; border-image: none" border="0" alt="image" src="https://img2018.cnblogs.com/blog/24244/202001/24244-20200110165650441-424660328.png" width="604" height="414"></p><br><br>
来源:https://www.cnblogs.com/springsnow/p/11613621.html
頁: [1]
查看完整版本: JavaScript:highcharts图表