当前位置: 首页 > news >正文

uniapp使用ucharts修改Y、X轴标题超出换行

找到ucharts里面的u-charts.js

Y轴的话找到drawYAxis方法。然后找到方法里面绘制文字的context.fillText方法。先把这个代码注释掉,然后加上下面代码

let labelLines = item.split('\n');
let currentY = pos + yAxisFontSize / 2 - 3 * opts.pix;
labelLines.forEach((line, index) => {// 绘制每一行标签context.fillText(String(line), tmpstrat, currentY);// 更新y坐标,实现换行效果currentY += yAxisFontSize + (yAxisFontSize / 2 - 5);
});
// context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);

X轴的话找到drawXAxis方法。修改方法跟Y轴一致。

然后找到calYAxisData方法。搜索找到下面代码的位置

rangesFormatArr[i] = rangesArr[i].map(function(items,index) {

然后把这个代码修改成下面这样

rangesFormatArr[i] = rangesArr[i].map(function(items,index) {items = yData.formatter(items,index,opts);// 如果文字过长,只保留5个字符。其他进行换行处理let font5 = items;if(font5.length >5){font5 = font5.slice(0,5);}yAxisWidthArr[i].width = Math.max(yAxisWidthArr[i].width, measureText(font5, yAxisFontSizes, context) + 5);return items;
});

找到ucharts里面的config-ucharts.js。找到formatter参数。里面添加下面这段代码

"yAxisDemo3":function(val, index, opts){let result = '';for (let i = 0; i < val.length; i++) {result += val[i];if (i > 0 && (i+1) % 5 === 0) {result += '\n';}}return result;
}

上面就是修改ucharts源码信息。

然后引用的话,直接在opts里面的yAxis进行添加即可。

yAxis: {data:[{type:'categories',format:'yAxisDemo3'}]
}

http://www.lryc.cn/news/499033.html

相关文章:

  • 三分钟详细解读什么是Ecovadis认证?
  • spring6:4、原理-手写IoC
  • 爬取的数据能实时更新吗?
  • Linux 下使用飞鸽传书实现与Windows飞秋的通信
  • MongoDB分片集群搭建及扩容
  • qt QSettings详解
  • 【Linux】ubuntu下一键配置vim
  • 【NLP 9、实践 ① 五维随机向量交叉熵多分类】
  • 信息系统安全防护攻防对抗式实验教学解决方案
  • 【笔记2-4】ESP32:freertos任务创建
  • 2024年12月6日Github流行趋势
  • matlab读取NetCDF文件
  • RDMA驱动学习(三)- cq的创建
  • Flask使用Celery与多进程管理:优雅处理长时间任务与子进程终止技巧(multiprocessing)(subprocess)
  • Django模板系统
  • 15. 文件操作
  • 清风数学建模学习笔记——Topsis法
  • 组合总和习题分析
  • 基于eFramework车控车设中间件介绍
  • L17.【LeetCode笔记】另一棵树的子树
  • BGP通过route-policy路由策略调用ip-prefix网络前缀实现负载均衡与可靠性之AS-path属性
  • 每日速记10道java面试题14-MySQL篇
  • 内存图及其画法
  • Ansys Maxwell:Qi 无线充电组件
  • 【Shell 脚本实现 HTTP 请求的接收、解析、处理逻辑】
  • 【北京迅为】iTOP-4412全能版使用手册-第六十七章 USB鼠标驱动详解
  • 【青牛科技】拥有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作——D4558
  • Kafka 数据写入问题
  • 实战ansible-playbook(九)-profile配置- 确保 CUDA 和 MPI 环境变量正确设置并立即生效
  • 气膜馆:科技与环保融合的未来建筑新选择—轻空间