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.72k stars 751 forks source link

曲线图在iOS16.4以上 连续两个相等值 曲线会出现断线 #1472

Open ggliuyuqi123 opened 1 year ago

ggliuyuqi123 commented 1 year ago

曲线图在iOS16.4以上 连续两个相等值 曲线会出现断线

AAChartModel commented 1 year ago

有示例代码吗? 我暂未复现此问题.

ggliuyuqi123 commented 1 year ago

将BasicChartVC 290行中任意相邻两个数改成一样的值 就会出现 且该问题只在真机中出现 模拟器是正常的 (图片上传不上来0.0)

AAChartModel commented 1 year ago

如你所言, 我将 demo 中 290 行的数值进行了修改, 将数组中的第二个和第三个数值改为相同的值. 修改后的结果如下:

 } else if (_chartType == BasicChartVCChartTypeSpline) {
        AASeriesElement *element1 = AASeriesElement.new
        .nameSet(@"2017")
        .lineWidthSet(@5.0)
        .dataSet(@[@5.1, @32.2, @32.2, @37.4, @23.5, @40.6,]);
        AASeriesElement *element2 = AASeriesElement.new
        .nameSet(@"2018")
        .lineWidthSet(@5.0)
        .dataSet(@[@8.1, @39.2, @21.3, @34.4, @24.5, @35.6,]);
        AASeriesElement *element3 = AASeriesElement.new
        .nameSet(@"2019")
        .lineWidthSet(@5.0)
        .dataSet(@[@10.1, @37.2, @18.3, @28.4, @26.5, @30.6,]);
        AASeriesElement *element4 = AASeriesElement.new
        .nameSet(@"2020")
        .lineWidthSet(@5.0)
        .dataSet(@[@13.1, @35.2, @16.3, @31.4, @25.5, @26.6,]);

        _aaChartModel
        .markerRadiusSet(@0)
        .seriesSet(@[element1,element2,element3,element4]);
    }

最终图表效果如下:

IMG_783466117BB6-1

如图所示, 图中红色的线显示正常.

AAChartModel commented 1 year ago

我的真机系统版本号为:iOS 16.4.1

ggliuyuqi123 commented 1 year ago

![Uploading IMG_4D568EB73A61-1.jpeg…]()

ggliuyuqi123 commented 1 year ago

iPad 是断线的 我搞个梯子看看能不能把图传上来- -

AAChartModel commented 1 year ago

这就难搞了, 我没有支持最新系统版本的 iPad, 也就没办法复现问题了.

ggliuyuqi123 commented 1 year ago

或者告诉我一下画曲线的方法在哪 我改下试试0.0

AAChartModel commented 1 year ago

或者你把图表类型改为曲线填充图, 看看是否正常

AAChartModel commented 1 year ago

如果曲线填充图正常的话, 你可以将填充图的颜色设置为透明色, 这样从视觉上看就是曲线图了.

ggliuyuqi123 commented 1 year ago

试过了 也是断的- -

AAChartModel commented 1 year ago

还有一点, AAChartKit 基于的 Highcharts 版本号不是最新版:

/*
 Highcharts JS v9.1.2 (2021-06-16)

 (c) 2009-2021 Torstein Honsi

 License: www.highcharts.com/license
*/

目前最新版本的 Highcharts 版本是 10.3.3

或许这个问题在最新版本的 Highcharts 版本中不存在. 你可以用你的 iPad 测试一下最新版本的 Highcharts, 看看是否能正常工作.

如果正常的话, 我可以将 AAChartKit 中的 Highcharts 依赖文件替换成最新版本的.

ggliuyuqi123 commented 1 year ago

好的 我试试 谢啦