类似 (https://www.visactor.io/vchart/demo/area-chart/percentage-sta...)这样的面积图,
想要实现渐变色的效果,应该怎么实现?能够配置不同的渐变方向吗?
类似 (https://www.visactor.io/vchart/demo/area-chart/percentage-sta...)这样的面积图,
想要实现渐变色的效果,应该怎么实现?能够配置不同的渐变方向吗?
area: {
style: {
fill: {
gradient: 'linear',
x0: 0.5,
y0: 0,
x1: 0.5,
y1: 1,
stops: [
{
offset: 0,
opacity: 1
},
{
offset: 1,
opacity: 0.3
}
]
}
}
},
https://www.visactor.io/vchart/demo/example/area-chart/area-s...
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
解决方案 Solution
不同图表库的解决方案不一样,根据你给的demo,在 VChart 中只需要配置
area.style.fill
为渐变色,通过改变x0
、y0
、x1
、y1
这四个点的值来改变渐变的 方向。**代码示例
代码参考
结果展示 Results
在线效果参考: https://codesandbox.io/s/area-chart-linear-gradient-xhdmc7
关于渐变色配置 About gradient color configuration
从上方的 api 中,可以看到 VChart 中的渐变色与 canvas 的渐变色 api 一致,能较好的支持各种渐变需求。
可以从下图中了解渐变色的绘制规则。

起点与终点 Start and end points
参数中有 2 组位置信息,上图中表明了起点与终点在渐变色绘制时的意义。
起点:(x0,y0)
终点:(x1,y1)
注意 在 VChart 中,起点,终点 的配置与 canvas 有少许不同。canvas 中位置是画布中的点位置。在 chartSpace 中,位置是图元 左上角 至图元 右下角 【0,1】 区间的比例位置。具体了请看下图:
渐变阶段 Gradient stops
这一部分与 canvas 的 api 没有区别,每一个阶段都需要配置 offset 与 color。可以配置多个阶段。
相关文档 Related Documentation
堆积 面积图 demo: https://www.visactor.io/vchart/demo/area-chart/percentage-sta...
面积图 教程: https://www.visactor.io/vchart/guide/tutorial_docs/Chart_Type...
相关配置: https://www.visactor.io/vchart/option/areaChart#area.style.fill
github : https://github.com/VisActor/VChart
Canvas 渐变 api:https://developer.mozilla.org/en-US/docs/Web/API/CanvasRender...