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 ...
随机推荐
- vue中常用的插件
1. wangeditor 富文本编辑器,https://www.wangeditor.com/
- 自定义函数式@FunctionalInterface异常接口
1.添加注解 /** * 抛出异常函数接口 * * @author liunancun * @date 2021/2/5 */ @FunctionalInterface public interfac ...
- [JSOI2015]圈地
原题链接:P6094 [JSOI2015]圈地 题意简述 把一块 \(n \times m\) 的地分给两个人,选择分出第 \(i\) 行第 \(j\) 列的地可以获得 \(a_{i,j}\) 的收益 ...
- 访问远程服务-RPC 与 REST
方法调用 所做的传递参数.传回结果都依赖于栈内存.所以Caller 调用者 Callee 被调用者应该同属一个进程,拥有相同的 栈内存, 进程间通信(Inter-Process Communicati ...
- VUE学习-计算属性与监听器
计算属性与监听器 计算属性 当 vm.message 发生改变时,所有依赖 vm.reversedMessage 的绑定也会更新 <div id="example"> ...
- golang中自带base64编码和解码
package main import ( "encoding/base64" "fmt" "log" ) func main() { in ...
- redis in windows
Redis https://github.com/MSOpenTech/redis/releases 启动 redis-server redis.windows.conf 设置服务 redis-ser ...
- 062_Apex使用Assert
assert关键字用法简单,但是使用assert往往会让你陷入越来越深的陷阱中.应避免使用.总结了以下原因: 1.用assert代替if是陷阱之二.assert的判断和if语句差不多,但两者的作用 ...
- Linux系统安装&VMware安装一
本次安装使用的VMware版本是15.5pro,镜像文件是centos7_x86 如果你还没有VMware和镜像文件,这里给你提供: https://my.vmware.com/cn/web/vmwa ...
- Xcode常用&开发常用
p.p1 { margin: 0; font: 12px "Helvetica Neue" } p.p2 { margin: 0; font: 12px "Helveti ...