gpt4 book ai didi

javascript - 在共享 Axis 图表中是否可以将 Axis 与系列一起隐藏?

转载 作者:行者123 更新时间:2023-12-01 00:31:07 29 4
gpt4 key购买 nike

我正在使用 LightningChartJS 创建图表。单击图例框中的系列描述后,系列消失,但 Axis 保留。是否可以将 Axis 与系列一起隐藏?

我的 Axis 和系列如下:-

const axis1 = chart.getDefaultAxisY()
.setStrokeStyle(axisYStrokeStyles[0])
.setOverlayStyle(axisYStylesHighlight[0])
.setNibOverlayStyle(axisYStylesHighlight[0])
.setTickStyle(visibleTick => visibleTick
.setLabelFillStyle(axisLabelStyle)
.setGridStrokeStyle(emptyLine)
)
const axis2 = chart.addAxisY(false)
.setTitle('No of units produced')
.setStrokeStyle(axisYStrokeStyles[1])
.setOverlayStyle(axisYStylesHighlight[1])
.setNibOverlayStyle(axisYStylesHighlight[1])
.setTickStyle(visibleTick => visibleTick
.setLabelFillStyle(axisLabelStyle)
.setGridStrokeStyle(emptyLine)
)

const splineSeries1 = chart.addSplineSeries({
xAxis: axisX,
yAxis: axisY1
})
const splineSeries2 = chart.addSplineSeries({
xAxis: axisX,
yAxis: axisY2
})

最佳答案

是的,这是可能的。

在 LegendBox 创建条目时

const legendBox = chart.addLegendBox( LegendBoxBuilders.HorizontalLegendBox )
// Add a single entry to the LegendBox. Since we know there is only one Entry, we can
// cast the returned entry as one to avoid checking for Arrays.
const entry = legendBox.add( series, true, splineSeries2.getName() ) as LegendBoxEntry

您可以订阅onSwitch事件来隐藏相应的Axis:

// Subscribe to the onSwitch event.
entry.onSwitch( ( _, state ) => {
// The state parameter is the state of the CheckBox
// If the CheckBox was just switched off, dispose of the Axis. Else, restore it.
if ( !state ) {
AxisY2.dispose()
} else {
AxisY2.restore()
}
})

但是,您不应该以这种方式处置默认的 Axis ,因为不能保证在您处置它时会有任何其他 Axis 代替它。

关于javascript - 在共享 Axis 图表中是否可以将 Axis 与系列一起隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58522493/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com