3 回答
TA贡献1864条经验 获得超2个赞
解决方案是将 RGBA 十六进制值传递到 color 属性中,而不是给出 RGB 十六进制值。如果执行此操作,您会发现无论选择哪种渐变,两个图表都显示相同的颜色和渐变,因此颜色将相同。
为了便于使用,我在此示例中将颜色放入单独的变量中:https://codesandbox.io/s/immutable-worker-3qxgj
<template>
<div class="hello">
<column-chart :data="votesData" height="200px" :colors="[colors]">
</column-chart>
<bar-chart
:data="chartData"
suffix="%"
height="100px"
:colors="colors"
:stacked="true"
:library="{ options: { tooltips: false } }"
>
</bar-chart>
<line-chart :data="data" :colors="colors" />
<bar-chart
:colors="colors"
:data="booksData"
suffix="%"
height="200px"
:stacked="true"
></bar-chart>
</div>
</template>
<script>
export default {
name: "HelloWorld",
props: {
msg: String,
},
data() {
return {
colors: ["#28a745ff", "#007bffff", "#ffc107ff", "#dc3545ff"],
};
},
};
</script>
TA贡献1798条经验 获得超3个赞
由于charts.js中的条形图具有borderColor和backgroundColor,您可以在数据集属性中自定义它们以获得与柱形图相同的结果,我正在谈论这样的编写:
let chartData = {labels: ['Neni problem','Branalita', 'Vadi me to', 'Vas...'], datasets: [
{
backgroundColor: 'rgba(40, 167, 69, 1)',
borderWidth: 0,
data: 40
}
,
...
}];
<bar-chart
:data="chartData"
suffix="%"
height="100px"
:stacked="true"
:library="{ options: { tooltips: false } }"
>
并且因为您不希望它具有边框颜色并且希望它仅具有纯色背景颜色,所以在数据集选项中,我建议您将每个条形的 borderWidth 设置为 0 并使用与 alpha 1 相同的十六进制颜色的 RGBA
添加回答
举报