AAChartModel / AAChartKit

📈📊🚀🚀🚀An elegant modern declarative data visualization chart framework for iOS, iPadOS and macOS. Extremely powerful, supports line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types. 极其精美而又强大的现代化声明式数据可视化图表框架,支持柱状图、条形图、折线图、曲线图、折线填充图、曲线填充图、气泡图、扇形图、环形图、散点图、雷达图、混合图等各种类型的多达几十种的信息图图表,完全满足工作所需.
https://cocoapods.org/pods/AAChartKit
MIT License
4.71k stars 751 forks source link

图层与水平轴线显示层级问题 #1457

Closed lhpkxywm closed 1 year ago

lhpkxywm commented 1 year ago

image 如上图,红色线条zindex=4,蓝色线条zindex=3,水平轴线(灰色的细线)zindex=2,红色线条下的填充部分(与红色线条独立,但使用同一个数据)zindex=1 按照以上的zindex来显示,红色填充图层(zindex=1)不应该对水平轴线(zindex=2)有遮挡,但上图的显示效果可以看出,在透明度较高颜色较深的区域,轴线显示模糊,被填充图层遮挡了。 填充色的代码如下 let gradientColorDic = AAGradientColor.linearGradient(direction: .toBottom, startColor: "rgba(255,0,0,1)", endColor: "rgba(255,0,0,0)") 我应该如何做,才能让水平轴线清楚的显示在填充图层上呢?

AAChartModel commented 1 year ago

你有试试这个关于网格线的这个gridZIndex属性吗?

AAChartModel commented 1 year ago

水平轴线(灰色的细线)zindex=2

这个按理说, 对应的是 gridZIndex 这个属性.

参考在线示例:

lhpkxywm commented 1 year ago

水平轴线(灰色的细线)zindex=2

这个按理说, 对应的是 gridZIndex 这个属性.

参考在线示例:

是的,我使用的就是gridZIndex,代码如下图。 image 而且,AAYAxis也没有zIndex属性啊

lhpkxywm commented 1 year ago

你有试试这个关于网格线的这个gridZIndex属性吗?

Axis对象只有gridZIndex属性,根本就没有zIndex属性,所以使用的肯定是gridZIndex,不然会报错的

AAChartModel commented 1 year ago

从你的需求来看, 你是想要网格线能够在穿插在这几个 AASeriesElement 之间, 但是我试了一下, 应该做不到.

参考:

AAChartModel commented 1 year ago

Unfortunately series are placed in one group that has same z index, so it is not possible to place series in different layers in relation to other elements. As a workaround you could add custom elements that will be placed behind axis' grid.

从这个 Highcharts 的官方回复来看, 各个 AASeriesElement 只能是同一个组(group), 也就是说各个 AASeriesElement是被当做一个整体看待的.

调整网格线层级 gridZIndex , 只能让网格线在这个组(group)的整体之上或者是整体之下, 但是就是不能穿插在他们之间.

我测试的结果也是和这个官方回复相符.

lhpkxywm commented 1 year ago

Unfortunately series are placed in one group that has same z index, so it is not possible to place series in different layers in relation to other elements. As a workaround you could add custom elements that will be placed behind axis' grid.

从这个 Highcharts 的官方回复来看, 各个 AASeriesElement 只能是同一个组(group), 也就是说各个 AASeriesElement是被当做一个整体看待的.

调整网格线层级 gridZIndex , 只能让网格线在这个组(group)的整体之上或者是整体之下, 但是就是不能穿插在他们之间.

我测试的结果也是和这个官方回复相符.

处女膜撕裂的忧伤