网站首页 > 技术文章 正文
1、对于位置不够显示的坐标值,使用斜显示;
“xAxis>axisLabel>rotate”设置倾斜角度;
xAxis: {
type: 'category',
axisLabel: {
color: '#b8e8fd',
interval: 0,
rotate: 30
},
axisLine: {
lineStyle: {
color: '#8dc1d8'
}
},
axisTick: {
show: false
},
data: totalValueData.xData
}
2、对于坐标值比较长的名称,使用换行显示;
“xAxis>axisLabel>formatter”设置换行格式;
formatter: function(params) {
var newParamsName = ""; // 最终拼接成的字符串
var paramsNameNumber = params.length; // 实际标签的个数
var provideNumber = 4; // 每行能显示的字的个数
var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 换行的话,需要显示几行,向上取整
/**
* 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
*/
// 条件等同于rowNumber>1
if (paramsNameNumber > provideNumber) {
/** 循环每一行,p表示行 */
for (var p = 0; p < rowNumber; p++) {
var tempStr = ""; // 表示每一次截取的字符串
var start = p * provideNumber; // 开始截取的位置
var end = start + provideNumber; // 结束截取的位置
// 此处特殊处理最后一行的索引值
if (p == rowNumber - 1) {
// 最后一次不换行
tempStr = params.substring(start, paramsNameNumber);
} else {
// 每一次拼接字符串并换行
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr; // 最终拼成的字符串
}
} else {
// 将旧标签的值赋给新标签
newParamsName = params;
}
//将最终的字符串返回
return newParamsName
}
3、对于坐标值超长的名称,使用省略号+移上去显示;
“xAxis>axisLabel>formatter”设置省略号格式;
增加“tooltip”,移上去显示详细内容;
formatter: function(params) {
var newParamsName = ""; // 最终拼接成的字符串
params = params.length <= 6 ? params : params.substring(0, 4) + '...';
var paramsNameNumber = params.length; // 实际标签的个数
var provideNumber = 7; // 每行能显示的字的个数
var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 换行的话,需要显示几行,向上取整
/**
* 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
*/
// 条件等同于rowNumber>1
if (paramsNameNumber > provideNumber) {
/** 循环每一行,p表示行 */
for (var p = 0; p < rowNumber; p++) {
var tempStr = ""; // 表示每一次截取的字符串
var start = p * provideNumber; // 开始截取的位置
var end = start + provideNumber; // 结束截取的位置
// 此处特殊处理最后一行的索引值
if (p == rowNumber - 1) {
// 最后一次不换行
tempStr = params.substring(start, paramsNameNumber);
} else {
// 每一次拼接字符串并换行
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr; // 最终拼成的字符串
}
} else {
// 将旧标签的值赋给新标签
newParamsName = params;
}
//将最终的字符串返回
return newParamsName
}
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'line' // 默认为直线,可选为:'line' | 'shadow'
}
}
4、修改折线图区域的渐变色;
“series>areaStyle”设置渐变色的数据;
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[{
offset: 0,
color: 'rgba(21, 144, 229, 1)'
},
{
offset: 1,
color: 'rgba(21, 144, 229, 0.1)'
}
],
false
),
shadowColor: 'rgba(21, 144, 229, 0.1)',
shadowBlur: 10
}
}
5、饼图中间增加显示的内容;
“title”设置内容、位置和颜色等;
title: [{
text: '合计总数',
x: '29%',
top: '42%',
textStyle: {
color: '#5bb9fc',
fontSize: size_obj.s12
}
}, {
text: totalValue,
x: '30%',
top: '50%',
textStyle: {
fontSize: size_obj.s14,
color: '#fff'
},
}]
6、实现三色仪表盘;
全代码如下;
var chartDom01 = document.getElementById('gauge-1');
var myChart01 = echarts.init(chartDom01);
var option01;
option01 = {
title: {
text: '溶解氧(mg/L)',
textStyle: {
color: '#b8e8fd',
fontSize: 12,
fontWeight: 'normal'
},
top: 18
},
series: [{
type: 'gauge',
splitNumber: 1,
radius: '93%',
center: ["50%", "52%"],
startAngle: 180,
endAngle: 0,
min: 0,
max: 50,
pointer: {
show: true,
width: 7,
length: "60%",
borderColor: '#000',
borderWidth: '10',
},
axisLine: {
show: true,
lineStyle: {
width: 36,
color: [
[0, 'transparent'],
[0.333333, '#ffb345'],
[0.343333, 'transparent'],
[0.666666, '#19aced'],
[0.676666, 'transparent'],
[1, '#fa7383']
],
borderColor: '#000',
borderWidth: '10',
},
},
axisLabel: {
show: true,
color: "#fff",
fontSize: 12,
distance: -14,
padding: [30, 0, 0, 0],
// formatter: function(value) {
// return value.toFixed(0);
// },
}, //刻度标签。
axisTick: {
show: false,
}, //刻度样式
splitLine: {
show: false,
length: "28%",
lineStyle: {
color: "#fff",
width: 2,
},
}, //分隔线样式
detail: {
show: true,
formatter: ['{a|溶解氧}', '{value}'].join('\n'),
fontSize: 20,
color: '#15cd96',
width: '100%',
height: '-320%',
padding: [-300, 0, 0, 0],
rich: {
a: {
color: '#fff',
fontSize: 12,
padding: [10, 0, 10, 0],
}
}
},
title: {
show: false
},
data: [{
value: 2.77
}]
// data: DOData
}]
};
myChart01.clear();
option01 && myChart01.setOption(option01);
7、实现数据定时切换,适合多数据无法全显示情况;
全代码如下;
var x_allData = ['晗宝SVANA的小店1', '晗宝SVANA的小店2', '晗宝SVANA的小店3', '晗宝SVANA的小店4', '晗宝SVANA的小店5', '晗宝SVANA的小店6', '晗宝SVANA的小店7', '晗宝SVANA的小店8', '晗宝SVANA的小店9', '晗宝SVANA的小店10', '晗宝SVANA的小店11', '晗宝SVANA的小店12'];
var y_allData = [535, 452, 348, 214, 119, 200, 352, 148, 247, 150, 250, 180];
var xData, yData;
// 初始化
xData = x_allData.slice(0, 5);
yData = y_allData.slice(0, 5);
updateChart(xData, yData)
// 循环切换数据
var n = Math.ceil(x_allData.length / 5); // 向上取整
var cur = 2,
start, end;
var timer = setInterval(function() {
if (cur > n) {
cur = 1;
};
start = (cur - 1) * 5;
end = cur * 5;
xData = x_allData.slice(start, end);
yData = y_allData.slice(start, end);
updateChart(xData, yData);
cur++;
console.log(cur)
}, 3000);
// 更新图表
function updateChart(xData, yData) {
var myChart_sxyy = echarts.init(document.getElementById('sxyy'));
var option_sxyy = {
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'line' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '5%',
right: '5%',
bottom: 0,
top: '5%',
containLabel: true
},
xAxis: {
show: false,
type: 'value'
},
yAxis: [{
type: 'category',
inverse: true,
axisLabel: {
show: true,
textStyle: {
color: '#fff',
margin: 12,
fontSize: 12,
lineHeight: 15
}
},
splitLine: {
show: false
},
axisTick: {
show: false
},
axisLine: {
show: false
},
data: xData
}, {
type: 'category',
inverse: true,
axisTick: 'none',
axisLine: 'none',
show: true,
axisLabel: {
textStyle: {
color: '#ffffff',
fontSize: 12
},
formatter: function(value) {
return value.toLocaleString();
},
},
data: yData
}],
series: [{
name: '预约量',
type: 'bar',
zlevel: 1,
itemStyle: {
normal: {
barBorderRadius: 30,
color: new echarts.graphic.LinearGradient(
0,
0,
1,
0,
[{
offset: 0,
color: 'rgba(57,89,255, 1)'
},
{
offset: 1,
color: 'rgba(46,200,207,1)'
}
],
false
)
},
},
barWidth: 15,
data: yData
},
{
name: '最大值',
type: 'bar',
barWidth: 15,
barGap: '-100%',
data: [1350, 1350, 1350, 1350, 1350],
itemStyle: {
normal: {
color: 'rgba(24,31,68,1)',
barBorderRadius: 30,
}
},
},
]
};
myChart_sxyy.setOption(option_sxyy, true);
}
猜你喜欢
- 2024-10-12 安详解在vue中使用echarts图表实例代码
- 2024-10-12 echarts两点连线,中间没有数值情况下实现连线,x轴标题超长解决
- 2024-10-12 ECharts—百度可视化图表插件(echarts数据可视化网站)
- 2024-10-12 vue之将echart封装为组件(vue echart 组件)
- 2024-10-12 百度echarts使用(百度 echarts)
- 2024-10-12 「ECharts 术语速查手册」简介(echarts emphasis)
- 2024-10-12 Vue实战090:Vue使用ECharts图表详解
- 2024-10-12 9、echarts 在 vue 中怎么引用?(必会)
- 2024-10-12 Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表
- 2024-10-12 Echart可视化学习笔记(echarts数据可视化 html模板)
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)