An An
An An
我估计应该是不行, 在 Highcharts 的官方文档中, 我没有找到能够根据不同 Y 轴单独设置 Legend 的选项. 在线文档链接: * https://api.highcharts.com/highcharts/legend
> 并且是否可以写死yAxis 上label的宽度 `AAYAXis` 有属性为 `AALabels`, `AALabels` 有属性 `AAStyle` , `AAStyle` 支持设置宽高, 你可以试试看看效果.
试试将 **AAChartKit-Swift** 更新的到最新版本 `9.0.0`, 之前的版本依赖的 **Highcharts** 较旧, 更新到最新的应该能够解决问题.
我全局搜索检查了一下, **AAChartKit-Swift** 的 `9.0.0`版本中, 所依赖的最新版的 **Highcharts**, 以上高风险 `JS` 代码已被移除. 参考: * #359
这个是 Highcharts 的问题, 暂时解决不了. 参考我之前在 Highcharts 官方提的 issue: * https://github.com/highcharts/highcharts/issues/17852
Highcharts 貌似没有提供这个点击事件的回调功能, 我暂时没找到相关 API, 你可以到 Highcharts 的 GitHub 官方页面提问看看.
**问**: > Highcharts 怎么获取 legend 点击事件回调? 以下是 chatGPT 回答: 在 Highcharts 中,可以通过 `legendItemClick` 事件来获取 legend 点击事件的回调。当用户点击图例中的一个图例项时,该事件将被触发。 以下是一个示例代码,展示如何使用 `legendItemClick` 事件回调函数: ```javascript Highcharts.chart('container', { // 图表配置项... legend: { // 图例配置项... itemEvents: {...
回到 AAChartKit-Swift, 在 demo 中, 有自定义 `legend` 的点击事件的回调的示例, 示例代码如下: ```swift //图表自带的图例点击事件是: //点击某个显示/隐藏的图例,该图例对应的serie就隐藏/显示。 //个人觉得不合理,正常来说,有多条折线(或其他类型的图表),点击某个图例是想只看该图例对应的数据; //于是修改了图例点击事件。 // //实现的效果是(以折线图为例): //1. 当某条折线隐藏时,点击该折线的图例 --> 该折线显示; //2. 当全部折线都显示时,点击某个图例 --> 该图例对应的折线显示,其他折线均隐藏; //3. 当只有一条折线显示时,点击该折线的图例 --> 全部折线均显示; //4. 其他情况,按默认处理:...
但是如果你想获取 `legend` 点击事件回调信息, 并且将回调信息传给原生的 Swift, 代码写起来还挺啰嗦的. 由于 legend 本身的绘制没有多少复杂度, 你完全可以隐藏图表自身的 legend 的, 然后使用 UIView 自定义一个原生的 legend, 然后自行处理相关的点击事件.
暂未想到比较优雅的开关方案. 临时的解决方法是: 在 `AAChartView.swift` 文件中, 注释掉以下这段代码即可: ```swift #if DEBUG let modelJsonDic = aaOptions.toDic()! let data = try? JSONSerialization.data(withJSONObject: modelJsonDic, options: .prettyPrinted) if data != nil { let prettyPrintedModelJson = String(data:...