Canvasjs:根据屏幕尺寸不同设置
Canvasjs: different settings according to screen size
我正在使用 CanvasJs 作为条形图,但我想根据屏幕尺寸进行不同的设置。
例如,对于小于 480 像素的屏幕,我想在 axisY 上完全隐藏标签。如何做到这一点?
似乎无法使用媒体查询和 css 来自定义图表。
这是一个例子:
<script type="text/javascript">
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Understanding Labels"
},
axisY: {
labelFontSize: 20
},
axisX: {
labelAngle: -30
},
data: [
{
type: "column",
dataPoints: [
{ y: 10, label: "Apples" },
{ y: 15, label: "Mangos" },
{ y: 25, label: "Oranges" },
{ y: 30, label: "Grapes" },
{ y: 28, label: "Bananas" }
]
}
]
});
chart.render();
}
</script>
我尝试过类似这样的方法,但显然行不通:
axisY: {
labelFormatter: function(e) {
if ($(window).width() < 480) {
return "";
},
},
},
您可以在 axisY 对象之外为 labelFormatter 定义一个函数。
axisY: {
labelFormatter: axisYLabels,
},
这里可以根据window的宽度修改axisY的标签。
function axisYLabels(e) {
if ($(window).width() < 480) {
return "";
} else {
return e.value;
}
}
您可以在此处看到有效的 fiddle。
我正在使用 CanvasJs 作为条形图,但我想根据屏幕尺寸进行不同的设置。
例如,对于小于 480 像素的屏幕,我想在 axisY 上完全隐藏标签。如何做到这一点?
似乎无法使用媒体查询和 css 来自定义图表。
这是一个例子:
<script type="text/javascript">
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Understanding Labels"
},
axisY: {
labelFontSize: 20
},
axisX: {
labelAngle: -30
},
data: [
{
type: "column",
dataPoints: [
{ y: 10, label: "Apples" },
{ y: 15, label: "Mangos" },
{ y: 25, label: "Oranges" },
{ y: 30, label: "Grapes" },
{ y: 28, label: "Bananas" }
]
}
]
});
chart.render();
}
</script>
我尝试过类似这样的方法,但显然行不通:
axisY: {
labelFormatter: function(e) {
if ($(window).width() < 480) {
return "";
},
},
},
您可以在 axisY 对象之外为 labelFormatter 定义一个函数。
axisY: {
labelFormatter: axisYLabels,
},
这里可以根据window的宽度修改axisY的标签。
function axisYLabels(e) {
if ($(window).width() < 480) {
return "";
} else {
return e.value;
}
}
您可以在此处看到有效的 fiddle。