AAChartKit icon indicating copy to clipboard operation
AAChartKit copied to clipboard

现在支持桑基图了吗?

Open coDayer88 opened this issue 5 months ago • 17 comments

该怎么实现呢?

coDayer88 avatar Aug 13 '25 03:08 coDayer88

  • https://github.com/AAChartModel/AAChartKit-Swift-Pro

AAChartModel avatar Aug 13 '25 03:08 AAChartModel

项目里已经嵌入了AAChartKit,可以直接替换成pro版本吗?

coDayer88 avatar Aug 13 '25 03:08 coDayer88

或者直接将pro版本中sankey有关的文件嵌入到项目里可不可行

coDayer88 avatar Aug 13 '25 03:08 coDayer88

你用的是什么语言版本的? OC 还是 Swift?

AAChartModel avatar Aug 13 '25 03:08 AAChartModel

OC的

coDayer88 avatar Aug 13 '25 03:08 coDayer88

项目里已经嵌入了AAChartKit,可以直接替换成pro版本吗?

OC 的可以用这个:

  • https://github.com/AAChartModel/AAChartKit-Pro

AAChartModel avatar Aug 13 '25 04:08 AAChartModel

或者直接将pro版本中sankey有关的文件嵌入到项目里可不可行

OC的 Pro 版本由于基本没什么人用, 疏于维护, 可能有一些属性和常规版本的没有同步. 但是整体问题应该不大.

AAChartModel avatar Aug 13 '25 04:08 AAChartModel

或者直接将pro版本中sankey有关的文件嵌入到项目里可不可行

可行, 你对比一下 Pro 版本的和常规版本的源代码, 实际上 Pro 版本就是这么做的.

AAChartModel avatar Aug 13 '25 04:08 AAChartModel

├── AAJSFiles.bundle
│   ├── AAChartView.html
│   ├── AAMaster
│   │   ├── AAEasing.js
│   │   ├── AAFunnel.js
│   │   ├── AAHighcharts-More.js
│   │   ├── AAHighcharts.js
│   │   └── AARounded-Corners.js
│   └── AAModules
│       ├── AAArc-Diagram.js
│       ├── AABullet.js
│       ├── AAData.js
│       ├── AADependency-Wheel.js
│       ├── AADumbbell.js
│       ├── AAFlame.js
│       ├── AAHeatmap.js
│       ├── AAHistogram-Bellcurve.js
│       ├── AAItem-Series.js
│       ├── AALollipop.js
│       ├── AANetworkgraph.js
│       ├── AAOrganization.js
│       ├── AAParallel-Coordinates.js
│       ├── AAPareto.js
│       ├── AAPattern-Fill.js
│       ├── AAPictorial.js
│       ├── AASankey.js
│       ├── AASolid-Gauge.js
│       ├── AAStreamgraph.js
│       ├── AASunburst.js
│       ├── AATilemap.js
│       ├── AATimeline.js
│       ├── AATreegraph.js
│       ├── AATreemap.js
│       ├── AAVariable-Pie.js
│       ├── AAVariwide.js
│       ├── AAVector.js
│       ├── AAVenn.js
│       ├── AAWindbarb.js
│       ├── AAWordcloud.js
│       └── AAXrange.js

Pro 版本的体积要大一些, 主要是多了 └── AAModules文件夹📂下面的这些 JS 依赖文件. 对体积敏感的话, 可以直接把除了这个桑基图所依赖的 JS 文件├── AASankey.js, 其他的 JS 文件全部手动删除掉.

AAChartModel avatar Aug 13 '25 04:08 AAChartModel

            <script src="AAModules/AASankey.js"></script>
            <script src="AAModules/AADependency-Wheel.js"></script>
            <script src="AAModules/AAOldie.js"></script>
            <script src="AAModules/AAVariable-Pie.js"></script>
            <script src="AAModules/AATreemap.js"></script>
            <script src="AAModules/AAVariwide.js"></script>
            <script src="AAModules/AASunburst.js"></script>
            <script src="AAModules/AAHeatmap.js"></script>
            <script src="AAModules/AAStreamgraph.js"></script>
            <script src="AAModules/AAVenn.js"></script>
            <script src="AAModules/AATilemap.js"></script>
            <script src="AAModules/AADumbbell.js"></script>
            <script src="AAModules/AALollipop.js"></script>
            <script src="AAModules/AAXrange.js"></script>
            <script src="AAModules/AAVector.js"></script>
            <script src="AAModules/AAHistogram-Bellcurve.js"></script>
            <script src="AAModules/AATimeline.js"></script>
            <script src="AAModules/AAItem-Series.js"></script>
            <script src="AAModules/AAWindbarb.js"></script>
            <script src="AAModules/AANetworkgraph.js"></script>
            <script src="AAModules/AAWordcloud.js"></script>
            <script src="AAModules/AASolid-Gauge.js"></script>
            <script src="AAModules/AAPareto.js"></script>
            <script src="AAModules/AABullet.js"></script>
            
<!--            <script src="AAModules/AAPattern-Fill.js"></script>-->
            <script src="AAModules/AAOrganization.js"></script>
            <script src="AAModules/AAArc-Diagram.js"></script>
            <script src="AAModules/AAFlame.js"></script>
            <script src="AAModules/AAData.js"></script>
            <script src="AAModules/AAParallel-coordinates.js"></script>
            <script src="AAModules/AAPictorial.js"></script>
            <script src="AAModules/AATreegraph.js"></script>

AAChartView.html 文件中的这些导入代码, 也可以注释掉或删除掉不用的, 只剩

            <script src="AAMaster/AAHighcharts.js"></script>
            <script src="AAMaster/AAHighcharts-More.js"></script>
            <script src="AAMaster/AAFunnel.js"></script>
            <script src="AAMaster/AAEasing.js"></script>
            <script src="AAMaster/AARounded-Corners.js"></script>
            
            <script src="AAModules/AASankey.js"></script>

这些核心依赖就可以了.

AAChartModel avatar Aug 13 '25 04:08 AAChartModel

AAChartView.html 文件中的这些导入代码, 也可以注释掉或删除掉不用的

这样做主要是为了减小包体积, 和图表绘制时的内存占用, 节约计算资源.

AAChartModel avatar Aug 13 '25 04:08 AAChartModel

好的感谢大佬👌🏻我试试

coDayer88 avatar Aug 13 '25 05:08 coDayer88

AAChartView.html 文件中的这些导入代码, 也可以注释掉或删除掉不用的

这样做主要是为了减小包体积, 和图表绘制时的内存占用, 节约计算资源.

有没有安卓的版本啊,大佬

TSsimeon avatar Aug 13 '25 10:08 TSsimeon

或者直接将pro版本中sankey有关的文件嵌入到项目里可不可行

OC的 Pro 版本由于基本没什么人用, 疏于维护, 可能有一些属性和常规版本的没有同步. 但是整体问题应该不大.

大佬,原版的AAColumn里面有个AAPropSetFuncImplementation(AAColumn, NSNumber *, pointWidth) //柱形条的宽度 属性我在使用,pro版本里的AAColumn没这个属性,我该怎么添加这个属性?直接把.h.m的复制过来不行,是还需要在js里面添加代码吗?

coDayer88 avatar Aug 15 '25 03:08 coDayer88

直接把.h.m的复制过来不行

可以直接复制的啊, 你测试了不行吗?

AAChartModel avatar Aug 15 '25 06:08 AAChartModel

AAChartView.html 文件中的这些导入代码, 也可以注释掉或删除掉不用的

这样做主要是为了减小包体积, 和图表绘制时的内存占用, 节约计算资源.

有没有安卓的版本啊,大佬

有, 但目前并未完工, 未完工的版本在这里:

  • https://github.com/AAChartModel/AAChartCore-Kotlin-Pro

AAChartModel avatar Aug 15 '25 06:08 AAChartModel

直接把.h.m的复制过来不行

可以直接复制的啊, 你测试了不行吗?

是的,我直接把AAPropSetFuncImplementation(AAColumn, NSNumber *, pointWidth)复制到同一个文件的位置,调用之后没有效果

coDayer88 avatar Aug 15 '25 10:08 coDayer88