395 Star 3.4K Fork 667

GVPuCharts / uCharts

 / 详情

能否添加渐变色柱状,饼状,仪表图

已完成
任务
创建于  
2019-12-16 19:05

该问题是怎么引起的?

能否添加渐变色柱状,饼状,仪表图

重现步骤

报错信息

评论 (5)

wublack 创建了任务

渐变色请参考改造教程,自行改造一下,目前除了区域图,其他图表暂时没有计划增加渐变色

渐变色请参考改造教程,自行改造一下,目前除了区域图,其他图表暂时没有计划增加渐变色

@16cheng 大佬,文档里哪边有配置渐变的api?

@16cheng 大佬,文档里哪边有配置渐变的api?

@wuzi 没有渐变色的api。参考下改造教程,那里有渐变色的方法。

在uni-charts.js的2335行改成这样

let item=points[i];
          if (item !== null && i>leftNum && i<rightNum) {
            context.beginPath();
            
            var startX = item.x - item.width / 2;
            var height = opts.height - item.y - opts.area[2];
			console.info(opts.area[2])
			if (eachSeries.color && Array.isArray(eachSeries.color)) {
				const grd = context.createLinearGradient(startX, item.y, startX+item.width-2,opts.height - opts.area[2]);
				for(var ii = 0; ii < eachSeries.color.length; ii++) {
					grd.addColorStop((ii + 1) / eachSeries.color.length, eachSeries.color[ii])
				}
				context.setFillStyle(grd);
				context.fillRect(startX, item.y, item.width-2,height);
			} else {
				context.setStrokeStyle(item.color || eachSeries.color);
				context.setLineWidth(1)
				context.setFillStyle(item.color || eachSeries.color);
				context.moveTo(startX, item.y);
				context.lineTo(startX+item.width-2,item.y);
				context.lineTo(startX+item.width-2,opts.height - opts.area[2]);
				context.lineTo(startX,opts.height - opts.area[2]);
				context.lineTo(startX,item.y);
				context.closePath();
				context.stroke();
				context.fill();
			}
          }

页面引用的时候,格式这样做

getServerData() {
				let column = {
					"categories": ["00.00", "08.00", "16.00", "23.00"],
					"series": [{
						"name": "成交量1",
						textColor: '#ffffff',
						"color": ['rgb(255, 41, 71)', 'rgb(255, 185, 63)'],
						"data": [8, 5, 10, 10]
					},{
						"name": "成交量2",
						textColor: '#ffffff',
						"color": ['rgb(255, 41, 71)', 'rgb(255, 185, 63)'],
						"data": [0, 10, 20, 40]
					},{
						
						"name": "成交量3",
						textColor: '#ffffff',
						"color": ['rgb(255, 41, 71)', 'rgb(255, 185, 63)'],
						"data": [0, 17, 15,15]
					},{
						"name": "成交量4",
						textColor: '#ffffff',
						"color": ['rgb(255, 41, 71)', 'rgb(255, 185, 63)'],
						"data": [10, 20, 45, 37]
					},{
						"name": "成交量5",
						textColor: '#ffffff',
						"color": ['rgb(255, 41, 71)', 'rgb(255, 185, 63)'],
						"data": [0, 40, 35, 15]
					},]
				}
				_self.showColumn("canvasColumn", column);
			},
			showColumn(canvasId, chartData) {
				canvaColumn = new uCharts({
					$this: _self,
					canvasId: canvasId,
					type: 'column',
					legend: {
						show: false // 不显示图标下面的区分标志
					},
					fontSize: 11,
					pixelRatio: _self.pixelRatio,
					animation: true,
					categories: chartData.categories,
					series: chartData.series,
					xAxis: {
						disableGrid: true, // 不显示横坐标网格
						fontColor: '#ffffff',
					},
					yAxis: {
						gridType: 'dash',
						data: [{
							fontColor: '#ffffff',
							fontSize: uni.upx2px(18),
							axisLine: false
						}]
					},
					dataLabel: false, // 不显示y轴内容值
					width: _self.cWidth * _self.pixelRatio,
					height: _self.cHeight * _self.pixelRatio,
					extra: {
						column: {
							width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length,
							meter: {
								fillColor: '#FF0000'
							}
						}
					}
				});
				 console.info(canvaColumn)
			}

注意:不支持16进制颜色值
贴出来了很多不需要的代码,偷懒了,见谅

2.0已实现此功能

16cheng 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(4)
1316944 cc qiun 1578948788
JavaScript
1
https://gitee.com/uCharts/uCharts.git
git@gitee.com:uCharts/uCharts.git
uCharts
uCharts
uCharts

搜索帮助