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'
  }]
}
相关推荐
G佳伟1 小时前
‌微信小程序Webview转发页面空白问题解决方案‌
微信小程序·小程序
vx_vxbs663 小时前
【SSM电动车智能充电服务平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·spring cloud·小程序·php·idea
小皮虾4 小时前
告别服务器!小程序纯前端“图片转 PDF”工具,隐私安全又高效
前端·javascript·微信小程序
未来之窗软件服务5 小时前
幽冥大陆(三十四)VUE +node智慧农业电子秤读取——东方仙盟炼气期
开发语言·vue·电子秤·东方仙盟·东方仙盟sdk
低代码布道师5 小时前
医疗小程序12出诊列表
低代码·小程序
草木红6 小时前
vite 安装 vue3 和 tailwindcss
vue3·vite·tailwindcss
Coder-coco6 小时前
游戏助手|游戏攻略|基于SprinBoot+vue的游戏攻略系统小程序(源码+数据库+文档)
java·vue.js·spring boot·游戏·小程序·论文·游戏助手
小小王app小程序开发21 小时前
盲盒小程序一番赏衍生玩法:魔王赏、非酋赏、狂欢赏差异化分析
小程序
2501_915106321 天前
iOS App 测试工具全景分析,构建从开发调试到线上监控的多阶段工具链体系
android·测试工具·ios·小程序·uni-app·iphone·webview
dchen771 天前
uniapp实现上拉刷新和下拉刷新的两种方式
uni-app