canvasjs x轴标签在组合图表中显示y轴索引
canvasjs x-axis label shows y-axis index in combined chart
我正在使用 Canvasjs 组合图表类型来显示 2 个 y 轴值与单个 x 轴值(时间)的对比。但正如您在图像中看到的,x 轴标签在特定情况下显示 y 轴的索引标签。
如果您看到,图表中显示的不是 10:00 AM,而是 "Gold Coast"。
我尝试像下面这样设置 x 轴的间隔,但对我没有任何效果。
axisX: {
//interval: 1,
intervalType: "hour",
//valueFormatString: "DD MMM YYYY HH:mm:ss"
},
可能是什么问题,有什么解决办法吗?
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function () {
var location_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 4, indexLabel: "Gold Coast", indexLabelOrientation: "vertical", label: "Gold Coast" },
{ x: new Date(2018, 10, 18, 11, 0), y: 4, indexLabel: "Mount Tambrine", indexLabelOrientation: "vertical", label: "Gold Coast" }
];
var workrest_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 2, label: "Work" },
{ x: new Date(2018, 10, 18, 11, 0), y: 1, label: "Rest" }
];
//console.log(location_datapoints);
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
exportEnabled: true,
title:{
text: "Driver Work Rest Data"
},
axisY:{
title: "Work or Rest",
includeZero: false,
interval: 1,
labelFormatter: function ( e ) {
var ret;
switch(e.value){
case 1:
ret = "Rest";
break;
case 2:
ret = "Work";
break;
case 3:
ret = "2-up";
break;
case 4:
ret = "Location";
break;
case 5:
ret = "Comments";
break;
case 6:
ret = "Annotations"
break;
default:
ret = '';
}
return ret;
}
},
axisX: {
//interval: 1,
intervalType: "hour",
//valueFormatString: "DD MMM YYYY HH:mm:ss"
},
data: [
{
type: "bubble",
//toolTipContent: "{label}",
dataPoints: location_datapoints
},
]
});
chart.render();
}
</script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</body>
</html>
西迪克,
在 axisX 上显示的不是 indexLabel,而是在 dataPoint 中设置的标签。在这种情况下移除标签应该可以正常工作。
var location_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 4, indexLabel: "Gold Coast", indexLabelOrientation: "vertical" },
{ x: new Date(2018, 10, 18, 11, 0), y: 4, indexLabel: "Mount Tambrine", indexLabelOrientation: "vertical" }
];
var workrest_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 2, label: "Work" },
{ x: new Date(2018, 10, 18, 11, 0), y: 1, label: "Rest" }
];
//console.log(location_datapoints);
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
exportEnabled: true,
title:{
text: "Driver Work Rest Data"
},
axisY:{
title: "Work or Rest",
includeZero: false,
interval: 1,
labelFormatter: function ( e ) {
var ret;
switch(e.value){
case 1:
ret = "Rest";
break;
case 2:
ret = "Work";
break;
case 3:
ret = "2-up";
break;
case 4:
ret = "Location";
break;
case 5:
ret = "Comments";
break;
case 6:
ret = "Annotations"
break;
default:
ret = '';
}
return ret;
}
},
axisX: {
//interval: 1,
intervalType: "hour",
//valueFormatString: "DD MMM YYYY HH:mm:ss"
},
data: [
{
type: "bubble",
//toolTipContent: "{label}",
dataPoints: location_datapoints
},
]
});
chart.render();
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
`
我误解了'label'的概念。为了显示正确的工具提示内容,我使用了 'label' 但它的用法不同。我现在使用 'name' 来显示正确的工具提示内容。这不会造成任何麻烦,我希望这是正确的选择。
作为参考,我在此处的代码片段中添加了我的代码。
var location_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 4, indexLabel: "Gold Coast", indexLabelOrientation: "vertical" },
{ x: new Date(2018, 10, 18, 11, 0), y: 4, indexLabel: "Mount Tambrine", indexLabelOrientation: "vertical" }
];
var workrest_datapoints = [
{ x: new Date(2018, 10, 18, 10, 10), y: 2, name: 'Work' },
{ x: new Date(2018, 10, 18, 11, 10), y: 1, name: 'Rest' }
];
window.onload = function () {
//console.log(location_datapoints);
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
exportEnabled: true,
title:{
text: "Driver Work Rest Data"
},
axisY:{
title: "Work or Rest",
includeZero: false,
interval: 1,
labelFormatter: function ( e ) {
var ret;
switch(e.value){
case 1:
ret = "Rest";
break;
case 2:
ret = "Work";
break;
case 3:
ret = "2-up";
break;
case 4:
ret = "Location";
break;
case 5:
ret = "Comments";
break;
case 6:
ret = "Annotations"
break;
default:
ret = '';
}
return ret;
}
},
axisX: {
//interval: 1,
intervalType: "hour",
//valueFormatString: "DD MMM YYYY HH:mm:ss"
},
data: [
{
type: "bubble",
//toolTipContent: "{label}",
dataPoints: location_datapoints
},
{
type: "stepLine",
toolTipContent: '{name}',
dataPoints: workrest_datapoints
}
]
});
chart.render();
}
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
我正在使用 Canvasjs 组合图表类型来显示 2 个 y 轴值与单个 x 轴值(时间)的对比。但正如您在图像中看到的,x 轴标签在特定情况下显示 y 轴的索引标签。
如果您看到,图表中显示的不是 10:00 AM,而是 "Gold Coast"。
我尝试像下面这样设置 x 轴的间隔,但对我没有任何效果。
axisX: {
//interval: 1,
intervalType: "hour",
//valueFormatString: "DD MMM YYYY HH:mm:ss"
},
可能是什么问题,有什么解决办法吗?
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function () {
var location_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 4, indexLabel: "Gold Coast", indexLabelOrientation: "vertical", label: "Gold Coast" },
{ x: new Date(2018, 10, 18, 11, 0), y: 4, indexLabel: "Mount Tambrine", indexLabelOrientation: "vertical", label: "Gold Coast" }
];
var workrest_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 2, label: "Work" },
{ x: new Date(2018, 10, 18, 11, 0), y: 1, label: "Rest" }
];
//console.log(location_datapoints);
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
exportEnabled: true,
title:{
text: "Driver Work Rest Data"
},
axisY:{
title: "Work or Rest",
includeZero: false,
interval: 1,
labelFormatter: function ( e ) {
var ret;
switch(e.value){
case 1:
ret = "Rest";
break;
case 2:
ret = "Work";
break;
case 3:
ret = "2-up";
break;
case 4:
ret = "Location";
break;
case 5:
ret = "Comments";
break;
case 6:
ret = "Annotations"
break;
default:
ret = '';
}
return ret;
}
},
axisX: {
//interval: 1,
intervalType: "hour",
//valueFormatString: "DD MMM YYYY HH:mm:ss"
},
data: [
{
type: "bubble",
//toolTipContent: "{label}",
dataPoints: location_datapoints
},
]
});
chart.render();
}
</script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</body>
</html>
西迪克,
在 axisX 上显示的不是 indexLabel,而是在 dataPoint 中设置的标签。在这种情况下移除标签应该可以正常工作。
var location_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 4, indexLabel: "Gold Coast", indexLabelOrientation: "vertical" },
{ x: new Date(2018, 10, 18, 11, 0), y: 4, indexLabel: "Mount Tambrine", indexLabelOrientation: "vertical" }
];
var workrest_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 2, label: "Work" },
{ x: new Date(2018, 10, 18, 11, 0), y: 1, label: "Rest" }
];
//console.log(location_datapoints);
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
exportEnabled: true,
title:{
text: "Driver Work Rest Data"
},
axisY:{
title: "Work or Rest",
includeZero: false,
interval: 1,
labelFormatter: function ( e ) {
var ret;
switch(e.value){
case 1:
ret = "Rest";
break;
case 2:
ret = "Work";
break;
case 3:
ret = "2-up";
break;
case 4:
ret = "Location";
break;
case 5:
ret = "Comments";
break;
case 6:
ret = "Annotations"
break;
default:
ret = '';
}
return ret;
}
},
axisX: {
//interval: 1,
intervalType: "hour",
//valueFormatString: "DD MMM YYYY HH:mm:ss"
},
data: [
{
type: "bubble",
//toolTipContent: "{label}",
dataPoints: location_datapoints
},
]
});
chart.render();
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
`
我误解了'label'的概念。为了显示正确的工具提示内容,我使用了 'label' 但它的用法不同。我现在使用 'name' 来显示正确的工具提示内容。这不会造成任何麻烦,我希望这是正确的选择。
作为参考,我在此处的代码片段中添加了我的代码。
var location_datapoints = [
{ x: new Date(2018, 10, 18, 10, 0), y: 4, indexLabel: "Gold Coast", indexLabelOrientation: "vertical" },
{ x: new Date(2018, 10, 18, 11, 0), y: 4, indexLabel: "Mount Tambrine", indexLabelOrientation: "vertical" }
];
var workrest_datapoints = [
{ x: new Date(2018, 10, 18, 10, 10), y: 2, name: 'Work' },
{ x: new Date(2018, 10, 18, 11, 10), y: 1, name: 'Rest' }
];
window.onload = function () {
//console.log(location_datapoints);
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
exportEnabled: true,
title:{
text: "Driver Work Rest Data"
},
axisY:{
title: "Work or Rest",
includeZero: false,
interval: 1,
labelFormatter: function ( e ) {
var ret;
switch(e.value){
case 1:
ret = "Rest";
break;
case 2:
ret = "Work";
break;
case 3:
ret = "2-up";
break;
case 4:
ret = "Location";
break;
case 5:
ret = "Comments";
break;
case 6:
ret = "Annotations"
break;
default:
ret = '';
}
return ret;
}
},
axisX: {
//interval: 1,
intervalType: "hour",
//valueFormatString: "DD MMM YYYY HH:mm:ss"
},
data: [
{
type: "bubble",
//toolTipContent: "{label}",
dataPoints: location_datapoints
},
{
type: "stepLine",
toolTipContent: '{name}',
dataPoints: workrest_datapoints
}
]
});
chart.render();
}
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>