iOS-具有指数 x 轴的图表

iOS-charts with exponential x-axis

我需要绘制一个 y 轴范围(-15 db 到 15 db)的图表。

绘图值来自浮点数组 - 例如

float plotVal[] = {
        0.707087f,
        0.715769f,
        0.724338f,......};(contains 560 points)

我的 x 轴值应在 20 HZ 到 20,000HZ 范围内,但采用对数刻度,如图所示

我正在使用 iOS-Charts 并将值填充为

NSMutableArray *xVals = [[NSMutableArray alloc] init];
    int xCount = 560;

    for (int i = 0; i < xCount; i++)
    {
        [xVals addObject:[@(i) stringValue]];

    }

    NSMutableArray *yVals = [[NSMutableArray alloc] init];

    int yCount = 560;

    for (int i = 0; i < yCount; i++)
    {
      [yVals addObject:[[ChartDataEntry alloc] initWithValue:plotVal[i] xIndex:i]];

    }

如何更改我的比例值,如图所示,请帮忙。

目前ios-charts不支持此类场景。我确实提出了支持请求,但它需要一个体面的工作。

您唯一能做的就是尝试了解ios-charts如何绘制折线图,​​并基于该框架创建一个新图表。它可以这样做。

困难的部分是,您重写 x 轴,并弄清楚您是如何计算坐标的。

说来话长,代码可以告诉你一切,你可以试试。

最后我使用了核心图,通过使用一些数学函数可以像屏幕截图中那样绘制图表。 所以它可能使用 core plot.Thanks.Grt core plot.