【发布时间】:2019-05-02 14:00:48
【问题描述】:
我正在尝试在 chart.js 中构建一个图表,显示虚拟物品的价格数据,折线图显示价格,后置条形图显示销量,如下所示:
我的问题是,两者的 y 轴相同,这意味着价格数据显示在底部,差异不明显,因为交易量为数百。
我希望价格数据位于 y 轴上,条形相对显示,最高成交量显示为 100% 高度,而不是 y 轴上的值,更像这样:
这可能吗?如何实现?谢谢!
代码:
let marketData = [["Nov 28 2018 20: +0",30.332,"103"],["Nov 28 2018 21: +0",25.801,"188"],["Nov 28 2018 22: +0",25.451,"262"],["Nov 28 2018 23: +0",12.484,"693"]];
let lineData = [];
let barData = [];
let labels = [];
marketData.forEach(function(thing) {
labels.push(thing[0].replace(' +0', '00'));
lineData.push(thing[1]);
barData.push(thing[2]);
});
new Chart(document.getElementById("mixed-chart"), {
type: 'bar',
data: {
labels: labels,
datasets: [
{
label: "Price",
type: "line",
borderColor: "#3e95cd",
data: lineData,
fill: false
},
{
label: "Sold",
type: "bar",
backgroundColor: "rgba(0,0,0,0.2)",
data: barData
}
]
},
options: {
title: {
display: true,
text: 'Sale price vs sale volume'
},
legend: { display: false }
}
});
【问题讨论】:
标签: javascript charts chart.js