HighCharts图表的呈现

news/2024/7/10 23:43:34 标签: jquery

HighCharts用法说明地址:Highcharts API 文档 | Highcharts

通过地址打开会出现新版,也可以切换到旧版,以上图是旧版,旧版有详细的备注更方便使用

大致的界面呈现上方提供的地址可以实现,在这个地方主要说明几个注意点

1.呈现的步骤

  • 添加相关的js引用(highcharts.js)
  • 在html页面用div装图表数据<div class="hchart hchart-md" id="chart-graph1" ></div>
  • 获取数据(获取坐标轴xy的数据,获取呈现的图表数据

 2.坐标轴上需要呈现次方的刻度,可以用

<span  style='baseline-shift: sub'><span> 下

<span  style='baseline-shift: super'><span> 上 

进行设置,用y轴为例(以下只是一个例子,具体情况逻辑具体呈现)

 var yAxisObj = new Object();
 yAxisObj.labels = {
            formatter: function () {
                var sValue = Math.abs(this.value).toString();
                if (type == 2) {
                    return "<span  style='baseline-shift: sub'>10<span>" + this.value + "</span></span>";
//将10向下移
                }
                if (sValue.length < 5) {
                    return this.value
                };
                return this.value.toExponential();
//toExponential()将数据科学计数法写法(eg:2.1E+2),
//括号里面写数值是保留几位小数(eg:写(0)则是2E+2)
            }
        };

3.针对图表进行图片下载

  • 首先需要引入highcharts导出的js文件(exporting.js)
  • 进行设置
     //导出的相关设置
            Highcharts.setOptions({
                // 所有语言文字相关配置都设置在 lang 里
                lang: {
                    resetZoom: '重置',
                    resetZoomTitle: '重置缩放比例',
                    viewFullscreen: "全屏",
                    printChart: "打印",
                    contextButtonTitle: "图表导出菜单",
                    downloadJPEG: "下载JPEG图片",
                    downloadPDF: "下载PDF文件",
                    downloadPNG: "下载PNG文件",
                    downloadSVG: "下载SVG文件",
                }
            });
          
            var chartObj = $(domChart).highcharts({
                navigation: {  //出现导出图片的按钮
                    buttonOptions: {
                        enabled: true,
                    }
                },
            });

 4.图表基本设置

var chartObj = $(domChart).highcharts({
            chart: {
                type: "line",
                borderWidth: 0,
                zoomType: 'xy',//缩放,还有只针对x,y轴的
                resetZoomButton: {
                    position: {
                        align: 'center' //设置 缩放后重置按钮的位置
                    }
                }
            },
            credits: {
                enabled: false
            },
            title: {
                text: ''
            },
            tooltip: {
                enabled: true
            },
            xAxis: xAxisObj,//x轴的刻度数据 值是object类型
            yAxis: yAxisObj,//y轴的刻度数据 值是object类型
            series: showSeries,//呈现的图表的数据 值是object类型的数组
            navigation: { //导出按钮的呈现
                buttonOptions: {
                    enabled: true,
                }
            },
        });

5.图表数据得得设置,也是上方的showSeries的其中一组数据的格式

  var serieObj = new Object();
        //分解数据
        var linePoints = graphData.linePointList;
        var points = new Array();
        for (var i = 0; i < linePoints.length; i++) { 
//每个点的数据处理,设置颜色,图像,大小
        var point = {
                    x: parseFloat(linePoints[i].x),
                    y: parseFloat(linePoints[i].y),
                     marker: {//点的样式设置,具体情况具体呈现,也可不设置
                            symbol: 'square', //图形
                            lineColor: "#FF0000",//图形的颜色
                            fillColor: "#00FF00",//填充的颜色
                            radius: 6 //半径,也可说是大小
                        }
                };
                points.push(point);
        }
        //图形属性
        serieObj.type = "scatter";//类型,设置这个类型,可以在鼠标浮现的数据信息显示x: y:
        serieObj.turboThreshold = 0;
        serieObj.name = "";//名称
        serieObj.keys = ["x", "y"];
        serieObj.data = points;//数据值
        serieObj.color = "";//连接的线颜色
        serieObj.dashStyle = "";//连接的线性
        serieObj.lineWidth = "";//线的宽度
        //标记
        serieObj.marker = {
            symbol: "",  //
            radius: 0.5,       // 大小
            lineWidth:"",
            lineColor: "",//图形的颜色
            fillColor: "",//填充的颜色
            enabled: true
        };


http://www.niftyadmin.cn/n/406751.html

相关文章

100种思维模型之升维打击思维模型-73

升维打击思维模型&#xff0c; 即在同一个领域里&#xff0c;利用不在同一竞争层面、高于同行业竞争者的技术、标准、价值或模式创新对其进行不对称打击&#xff0c;从而更快地占领市场。 01、何谓升维打击思维模型 一、升维打击 升维打击是 相对于同维、降维打击而提出的一种…

Ubuntu做深度学习+ros怎么分区

正好要重装系统了&#xff0c;学习以下怎么分区 买了铠侠rc20 &#xff0c; 1T用来做Ubuntu系统盘 整理一下要安装的东西&#xff1a; 1.要装cuda &#xff0c;6G&#xff08; 安装在 /usr/local/cuda-11.1 &#xff09; 挂载点 /usr: 存放用户程序&#xff0c;一般在/usr/…

ubuntu上安装docker报错

执行docker命令的时候报错如下&#xff1a; Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 为了解决这个问题&#xff0c;看了一些帖子有的说重启docker.service服务或者看该服务是否已经正常启动&#xff0c;结果网上…

每日面试题之介绍一下克隆!

克隆的两种方式&#xff1a; 在Java中存在两种克隆方式&#xff1a; 深克隆&#xff1a;是指通过实现Serialzable接口&#xff0c;该种克隆方式不仅克隆对象本身&#xff0c;还克隆对象包含的引用所指向的所有对象。 浅克隆&#xff1a;是指通过实现Cloneable接口&#xff0…

【小米的技术分享】数据库索引原理与底层数据结构解析

大家好&#xff0c;我是小米。今天我们来探讨一下数据库索引原理以及底层索引数据结构&#xff0c;同时还会介绍叶子节点存储的内容以及索引失效的情况。废话不多说&#xff0c;让我们开始吧&#xff01; IO操作与索引 首先&#xff0c;我们先来了解一下IO操作对于数据库索引的…

【Java生态前后端】开发web应用使用到的技术 Vue框架+Java开发Web应用的步骤

文章目录 前言一、开发web应用使用到的技术1. 前端技术2. 后端技术3. 数据库技术4. 服务器技术5. 版本控制工具6. 其他工具和框架 二、Vue框架Java开发Web应用的步骤1. 需求分析2. 设计阶段3. 前端开发4. 后端开发5. 数据库设计和开发6. 测试阶段7. 部署和发布8. 运维和维护 总…

两个月涨粉90万,B站内容风向又有新指示?

6月1日&#xff0c;B站公布了2023年第一季度财报。 财报中显示第一季度&#xff0c;B站日均活跃用户达9370万&#xff0c;同比增长18%。用户日均使用时长96分钟&#xff0c;日均视频播放量达41亿&#xff0c;其中&#xff0c;本季度B站Story-Mode竖屏视频日均播放量同比增长82…

常用模拟低通滤波器的设计——椭圆滤波器

常用模拟低通滤波器的设计——椭圆滤波器 椭圆滤波器又称考尔滤波器&#xff0c;是在通带和阻带范围内都具有等波纹的一种滤波器。椭圆滤波器相比其他类型的滤波器&#xff0c;在阶数相同的条件下有最小的通带和阻带波动&#xff0c;这一点区别于在通带和阻带都平坦的巴特沃斯…