前端vue自定义柱形图 选中更改柱形图颜色及文字标注颜色

本文介绍了如何通过组件化开发提升前端应用的效率,特别是针对一个实例——自定义柱形图,演示了如何实现在选中时更改颜色和文字标注。作者强调了组件化在复杂项目中的重要性,以及背后的策略和构建系统支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。

通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率低,降低维护成本。 组件化对于任何一个业务场景复杂的前端应用以及经过多次迭代之后的产品来说都是必经之路。组件化要做的不仅仅是表面上看到的模块拆分解耦,其背后还有很多工作来支撑组件化的进行,例如结合业务特性的模块拆分策略、模块间的交互方式和构建系统等等


阅读全文下载完整组件代码请关注微信公众号: 前端组件开发

在这里插入图片描述

今天给大家介绍的一款组件: 自定义柱形图 选中更改柱形图颜色及文字标注颜色, 附源码下载地址:https://ext.dcloud.net.cn/plugin?id=14132

效果图如下

cc-barCharts 前端vue自定义柱形图 选中更改柱形图颜色及文字标注颜色

使用方法

<view style="background: white;padding-bottom: 20px; margin:10px 10px;">

<view style="margin: 10px; font-size: 14px;color: #444444;">该公司所属行业分类等级</view>

<view v-if="true" style="margin-top:208px;margin-left: 10px;display: flex;">

<!--bar-title:柱形图标题 bar-value:柱形图值  selBarTitle:选中的柱形图标题  -->

<cc-barCharts bar-title="AAA" :bar-value="20" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="AA" :bar-value="10" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="A" :bar-value="16" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="BBB" :bar-value="14" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="BB" :bar-value="30" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="B" :bar-value="5" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="CCC" :bar-value="5" :selBarTitle="selBarTitle"></cc-barCharts>

</view>

</view>

HTML代码实现部分

<template>

<view class="content">

<view style="background: white;padding-bottom: 20px; margin:10px 10px;">

<view style="margin: 10px; font-size: 14px;color: #444444;">该公司所属行业分类等级</view>

<view v-if="true" style="margin-top:208px;margin-left: 10px;display: flex;">

<!--bar-title:柱形图标题 bar-value:柱形图值  selBarTitle:选中的柱形图标题  -->

<cc-barCharts bar-title="AAA" :bar-value="20" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="AA" :bar-value="10" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="A" :bar-value="16" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="BBB" :bar-value="14" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="BB" :bar-value="30" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="B" :bar-value="5" :selBarTitle="selBarTitle"></cc-barCharts>

<cc-barCharts bar-title="CCC" :bar-value="5" :selBarTitle="selBarTitle"></cc-barCharts>

</view>

</view>

<!-- 自定义等分底部菜单按钮 -->

<view class="bottomV">

<!-- upTextArr:上面标题数组 downTextArr:下面标题数组  selIndex:选择序列 selColor:选中颜色 @menuClick:按钮点击事件 -->

<cc-BotMenu :upTextArr="uptextArr" :downTextArr="downTextArr" :selIndex="selIndex" selColor="orange"

@menuClick="menuClick"></cc-BotMenu>

</view>

</view>

</template>

<script>

export default {

data() {

return {

selBarTitle: 'BB',

uptextArr: ['1', "2", "3", "4", '5'],

downTextArr: ['国家标准', "行业标准", "省级标准", "团体标准", '企业标准'],

selIndex: "0",

}

},

onLoad() {

},

methods: {

// 按钮点击事件

menuClick(tag) {

// 点击序列赋值

this.selIndex = tag;

}

}

}

</script>

<style>

page {

background-color: #f9f9f9;

}

.content {

display: flex;

flex-direction: column;

}

.bottomV {

/* 设置视图置顶 */

display: flex;

flex-direction: row;

position: fixed;

margin-top: calc(100vh - 168px);

height: 60px;

z-index: 9999 !important;

width: 100vw;

background-color: white;

padding-left: 0px;

padding-bottom: 20px;

}

</style>

### 关于柱状图 `formatter` 的方法 在 eCharts 中,可以通过设置 `formatter` 来自定义图表中的文本显示方式。对于柱状图而言,可以针对不同的部分应用 `formatter` 函数来实现特定的需求。 #### 设置柱体顶部数值显示 为了使柱状图上的每一个柱体上方都显示出具体的数值,可以在配置项中加入如下代码: ```javascript series: [{ type: 'bar', itemStyle: { normal: { label: { show: true, position: 'top', // 将标签放置在柱顶位置 formatter: '{c}' // 显示的数据格式为原始值 } } }, }] ``` 此段代码实现了当鼠标悬停时,在柱形顶端展示具体数值的功能[^3]。 #### 自定义 Legend 文本样式 如果希望对 legend 部分的文字做特殊处理,则可利用 `formatter` 参数传递字符串模板或是匿名函数来进行定制化操作: ```javascript legend: { data: ['销量'], formatter: function(name){ return "产品类别:" + name; } } ``` 这段脚本会遍历所有的 legend 名称,并按照指定模式重新构建其呈现形式。 #### X/Y 轴刻度线文字调整 另外,还可以通过修改坐标轴属性下的 `axisLabel.formatter` 属性来自由控制横纵坐标的标注风格。例如下面的例子展示了如何更改Y轴单位为“/年”的做法: ```javascript yAxis: [ { type: 'value', axisLabel: { formatter: '{value} / 年' } } ], ``` 上述代码片段能够有效地改变默认的数字型 Y 轴标签至带有额外描述性的表达方式[^4]。 #### 完整示例:Vue-Echarts 柱状图 Formatter 应用 结合 Vue.js 和 ECharts 实现一个简单的柱状图组件,其中包含了多种 `formatter` 的应用场景: ```html <template> <div id="main" style="width: 600px;height:400px;"></div> </template> <script> import * as echarts from 'echarts'; export default { mounted(){ let myChart = echarts.init(document.getElementById('main')); // 绘制图表 myChart.setOption({ title : { text:'销售情况统计' }, tooltip : {}, legend: { data:['销量'], formatter: function(name){return "商品分类:"+name;} }, xAxis: [{type : 'category',data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]}], yAxis: [{type : 'value',axisLabel:{formatter:'{value}件'}}], series : [ { name:'销量', type:'bar', itemStyle:{ normal:{ label:{ show:true, position:'top', formatter:'{c}' } } }, data:[5, 20, 36, 10, 10, 20] } ] }); } }; </script> ``` 该实例综合运用了之前提到的各种技巧,不仅限定了各元素的位置关系还增强了视觉效果和用户体验[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值