echarts数据过小,log类型无法出现刻度线,并将y轴转为科学计数法
方法仅供参考
可以更改logBase的值,数值越小刻度线越多,但也会出现,刻度值重复的问题,看各自需要,其次是对数据进行处理,全部变成大于1的数,最后在echarts的图表显示设置中更改回来
注意:对数函数的底数在大于1和大于0小于1时的曲线是沿x轴对称的
// 将y轴数据,鼠标显示框转为科学计数法
// 数据过滤,将y轴数据转为科学计数法,坐标轴和鼠标坐标显示使用
tranNumber: function(v) {
if(v.axisDimension == 'x') return v.value
let vStr = ''
// 处理不同函数
if(typeof v == 'object') vStr = parseFloat(v.value).toString()
else vStr = parseFloat(v).toString()
// 根据处理后的参数内是否是科学计数法来分别转换
if(vStr.indexOf('e') == -1) {
let vArr = vStr.split('.')
let len = vArr[0].length
let result = 1 + 'e' + (len - this.min_E - 1)
}else{
let vArr = vStr.split('e')
let result = 1 + 'e' + (len - this.min_E)
}
return result == '1e0' ? '1' + result
}
// 对应横坐标的纵坐标值显示使用
tranNumber_Y: function(params) {
let resArr = []
for(let i = 0;i < params.length;i++) {
let vStr = parseFlaot(params[i].value[1]).toString()
let vFlaot = vStr.substring(0,3)
var axisValueLabel = params[i].axisValueLabel
var marker = params[i].marker
var seriesName = params[i].seriesName
// 根据处理后的参数内是否是科学计数法来分别转换
if(vStr.indexOf('e') == -1) {
let vArr = vStr.split('.')
let lenS = vArr[0].length
let lenF = vFlaot.split('.')[0].length
var v = vFlaot / 10 ** (lenF - 1) + 'e' + (lenS - this.min_E - 1)
}else {
let vArr = vStr.split('e')
var v = vFlaot + 'e' + (vArr[1] - this,min_E)
}
var str1 = (marker || '') + (seriesName || '') + (seriesName ? ': ' : '') + v
resArr[i] = str1
}
returm `${axisValueLabel}<br />${resArr[0] ? resArr[0] + '<br />' : ''}${resArr[1] ? resArr[1] : ''}`
}
echarts数据过小,log类型无法出现刻度线,并将y轴转为科学计数法的更多相关文章
- php 封装原生数据导出的方法(csv文件格式)和csv文件中长数字自动变成科学计数法的处理
如何解决上图长数字自动转换处理? CSV文件中长数字自动变成科学计数法处理.用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学计数法的表现形式. ...
- --mysql 导出数据时, 数字类型的列如果位数过长,变为科学计数法问题
--mysql 导出数据时, 数字类型的列如果位数过长,变为科学计数法问题在字段前加上\t即可select concat('\t',a.IDCARD_NO) from xxx a
- POI导出复杂的excel;excel公共样式类;excel拼接定制类;数据科学计数法转为普通值
一.excel公共样式类(包含数据科学计数法转为普通值) package com.thinkgem.jeesite.common.utils.excel; import org.apache.poi. ...
- Sql server 的float和real类型会产生科学计数法,如何消除科学计数法
sqlserver 查询的 float 类型 如果是0.00000000001的话,会被显示为1E-11,请问怎么才能让查询出的结果显示为正常显示方式而不是科学计数法? 答案: float 和 rea ...
- 【踩坑系列】使用long类型处理金额,科学计数法导致金额转大写异常
1. 踩坑经历 上周,一个用户反馈他创建的某个销售单无法打开,但其余销售单都可以正常打开,当时查看了生产环境的ERROR日志,发现抛了这样的异常:java.lang.NumberFormatExcep ...
- Excel导入sq server后数据列以科学计数法显示
一.选中excel数据列如图 二.选择数据--分列 三.选择下一步,下一步,文本 四.完成 五.这样把excel导入到数据库中是以文本形式显示不会出现科学计数法
- echarts纵坐标使用科学计数法表示
最近做项目使用echart画图,发现纵坐标的刻度太大或太小的情况,导致页面十分难看,甚至出现遮挡的情况,所以想办法用科学计数法表示 代码如下: var option = { title: Echart ...
- cout设置输出数据不显示科学计数法
[解决方案] 1.在头文件包含—#include<iomanip>——定义IO流输出输入格式控制相关函数. 2.利用cout输出格式为—cout << fixed <&l ...
- Python中将array类型不按科学计数法存在文件中的方法
直接上代码: from numpy import *import numpy as npDrug_array = zeros((708,708),dtype = int)f = open('D:\ma ...
- Gridview数据导出excel时身份证号码为科学计数法的解决方法
if (e.Row.RowType == DataControlRowType.DataRow) { string id = this.GridView1.DataKeys[e.Row.RowInde ...
随机推荐
- SQL_SERVER 2000启动问题
SQL Server evaluation period has expired解决办法 问题现象: 本地计算机 上的 MSSQLSERVER 服务启动后又停止了.一些服务自动停止,如果它们没有什么可 ...
- java的知识点
java 知识点 1.包装类自带有parse方法 Integer i = 315; int i1 = Integer.parseInt("315"); System.out.pri ...
- 公式b-(a-b)
- CF513F2 题解
题意 传送门 有 \(a+b+1\) 个会动的棋子,在一个大小为 \(n\times m\) 的棋盘上,棋盘上有一些点有障碍.棋子中,有 \(a\) 个红色棋子,\(b\) 个蓝色棋子,和 \(1\) ...
- 03、如何理解Kafka和Zookeeper的关系
001.Kafka简介 Apache Kafka最早是由Linkedin公司开发,后来捐献给了Apack基金会. Kafka被官方定义为分布式流式处理平台,因为具备高吞吐.可持久化.可水平扩展等特性而 ...
- VUE基础 · 绑定(1)
前端三大框架:Angular.js.React.js.Vue.js,目前最热的是Vue,并且使用的热度还在递增中. Vue已经将操作页面的方法封装好,我们只需要对数据进行修改就可以完成页面的显示.Vu ...
- mysql两表关联
mysql两表关联 是按照范围关联表 select * from ((select u.id,u.name,u.sex,s.street_name,u.street_code,u.birthday f ...
- linux服务器项目迁移非常好用的工具scp和rsync
linux系统下一般都安装了,启用一下就可以了 (1):编辑配置文件 # sudo vi /etc/default/rsync #ubuntu # vi /etc/xinetd.d/rsync #c ...
- python_名片系统
"""1 - 新建名片 2-显示全部 3-查询名片 0-退出系统""" import card_tools while True: card ...
- 3927Circular Sequence 思维题(求环形最大子列和)
Given a sequence with n elements, if the last element is also adjacent to the first element of the s ...