django - 隐藏所有数据集(chartjs)时如何显示比例?
问题描述
我使用 django 和 chartjs 来渲染图表。当我使用图例 onclick 函数隐藏所有数据集时,y 轴将显示为这样,而我不想显示任何内容,甚至是网格线。
这是示例图表:
有什么解决方案或建议吗?
解决方案
我按照 Daniel 的建议,重写了自定义的 onClick 函数。现在它完全按照我的预期工作。
//start
const allHidden = ci.data.datasets.every((dataSet, index) => ci.getDatasetMeta(index).hidden)
const rightAxisDataSetsAllHidden = ci.data.datasets.every((dataSet, i) => {
if (ci.getDatasetMeta(i).yAxisID === "rightAxis") {
if (ci.getDatasetMeta(i).hidden === null) {
return false}
else {
return true
}
}
else {
return true
}})
const leftAxisDataSetsAllHidden = ci.data.datasets.every((dataSet, i) => {
if (ci.getDatasetMeta(i).yAxisID === "leftAxis") {
if (ci.getDatasetMeta(i).hidden === null) {
return false
}
else {
return true
}
}
else {
return true
}})
if (ci.options.scales.yAxes.length != 1) {
ci.options.scales.yAxes[0].display = !leftAxisDataSetsAllHidden
ci.options.scales.yAxes[1].display = !rightAxisDataSetsAllHidden
}
else {
ci.options.scales.yAxes[0].display = !leftAxisDataSetsAllHidden;
}
ci.options.scales.xAxes[0].display = !allHidden;
//end
推荐阅读
- sql - 用于标记表中此特定条件至少出现一次或多次的行的 Sql 语法
- reactjs - 没有构建的钩子
- python - 蟒蛇 | 同时写入多个文件
- javascript - 更改按钮上的网格颜色按三个 js
- python - 如何将 matplotlib 轴刻度标签字体粗体设置为粗体?
- docker - Dockerfile 在几个环境中部署 Vue.js 应用程序?
- azure-application-gateway - Azure sql server 作为应用网关的后端池
- excel - excel表格数据复制和粘贴,而列标题计数不同
- java - 在spark sql中使用count、have和orderby执行本机sql
- cisco - 如何将一台 ping 电脑发送到另一台位于不同网络中的电脑