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 750 forks source link

作者你好,有没有办法实现如下效果 #1449

Closed mapleleaf99 closed 1 year ago

mapleleaf99 commented 1 year ago
image

数据较大的那个,饼图半径比较大一点

AAChartModel commented 1 year ago

不知道你需要的是不是这种效果?

mapleleaf99 commented 1 year ago

我有查看之前有人发的南丁格尔玫瑰图,但是我只需要一个模块的半径增大,其他的半径一样

AAChartModel commented 1 year ago

据我了解, Highcharts 对这个应该不支持. 你可以到 Highcharts 官方社区问问看, 是否有什么其他的解决方案.

AAChartModel commented 1 year ago

Highcharts 的 GitHub 官方 issues 区链接:

mapleleaf99 commented 1 year ago

thanks

AAChartModel commented 1 year ago

谷歌搜索:

Highcharts change change silice size for pie chart

我找到了以下关键内容:

AAChartModel commented 1 year ago

在线示例:

你将在线示例代码改成如下内容:

    $(function () {
    $('#container').highcharts({
        chart: {
            events: {
                load: function (){
                    console.log( );
                    var graphic = this.series[0].data[0].graphic;
                    setTimeout(function() {
                        var prevR = graphic.r;
                        graphic.attr( {
                            r: prevR + 50 
                        });
                }, 1001);
                }
            }
        },
        series: [{
            type: 'pie',
            name: 'Browser share',
            data: [
                ['Firefox',   45.0],
                ['IE',       26.8],
                ['Safari',    8.5],
                ['Opera',     6.2],
                ['Others',   0.7]
            ]
        }]
    });
});

应该能够更明显的看到效果.

mapleleaf99 commented 1 year ago

抱歉,如何将此代码应用在oc里

AAChartModel commented 1 year ago

如下配置 AAOptions 即可:

//https://www.highcharts.com/forum/viewtopic.php?t=28267
- (AAOptions *)configureTheSizeOfTheSliceOfDonutAndPieChart {
    return AAOptions.new
            .titleSet(AATitle.new
                    .textSet(@"Configure The Size Of The Slice Of Donut And Pie Chart"))
            .chartSet(AAChart.new
                    .eventsSet(AAChartEvents.new
                            .loadSet(@AAJSFunc((function () {
                                const chart = this;
                                const graphic = chart.series[0].data[0].graphic;
                                setTimeout(function () {
                                    const prevR = graphic.r;
                                    graphic.attr({
                                        r: prevR + 50
                                    });
                                }, 1001);
                            }))))
            )
            .seriesSet(@[
                    AASeriesElement.new
                            .typeSet(AAChartTypePie)
                            .nameSet(@"Browser share")
                            .dataSet(@[
                                    @[@"Firefox", @45.0],
                                    @[@"IE", @26.8],
                                    @[@"Safari", @8.5],
                                    @[@"Opera", @6.2],
                                    @[@"Others", @0.7]
                            ])
            ]);
}
mapleleaf99 commented 1 year ago

好的,我试试这样,感谢作者

mapleleaf99 commented 1 year ago

softConnectorSet 这个属性设置怎么不起作用

mapleleaf99 commented 1 year ago

Connector的位置可以修改吗,不想在中间

mapleleaf99 commented 1 year ago

Connector可以控制隐藏显示吗

AAChartModel commented 1 year ago

Connector的位置可以修改吗,不想在中间

参考 connectorPadding 这个属性:

AAChartModel commented 1 year ago

Connector可以控制隐藏显示吗

我没找到直接隐藏的方法, 不过 connectorColor 设置为透明色

或者 connectorWidth 设置为 0, 应该也能间接隐藏 Connector

mapleleaf99 commented 1 year ago

可以了

mapleleaf99 commented 1 year ago
image

监听点击事件时,怎么知道二次点击时,复原饼图的的事件

mapleleaf99 commented 1 year ago

这些信息里,我没有办法判断,他现在是复原状态,还是位移状态,有没有可以知道是否在位移的方法

AAChartModel commented 1 year ago

这些信息里,我没有办法判断,他现在是复原状态,还是位移状态,有没有可以知道是否在位移的方法

这个你是为了实现什么需求?

mapleleaf99 commented 1 year ago

目前需求是,我点击某一个饼图时,旁边的UI会做出相应的响应,然后点击复原,对应的UI就复原,所以我想要知道饼图什么时候复原

AAChartModel commented 1 year ago

目前的可行的做法, 可能就是你声明一个全局变量, 自行记录下当前选中的 index和其选中状态, 然后通过点击事件回调中的数据, 进行饼图的是否选中扇区逻辑判断.