iphone - 核心图创建动态Y轴并非常清晰地显示图形

标签 iphone ios5 core-plot

如何通过自动传递 yMin 和 yMax 图表来创建动态 y 轴并显示得非常清晰。

例如,我的数据是 Y 轴 99.7, 99.3, 99.2, 99.0 ,100 。

所以我希望 y 轴最小从 99 开始到 100,增量为 0.1,这样图表将显示得非常清晰。

我的代码片段如下 //4 - 配置 y 轴

  y_monthly.title = lbl_M_HasDelay.text;
    y_monthly.labelAlignment = CPTAlignmentCenter;
    y_monthly.titleTextStyle = axisTitleStyle;
    y_monthly.titleOffset = -30.0f;
    y_monthly.axisLineStyle = axisLineStyle;
    y_monthly.majorGridLineStyle = gridLineStyle;
    y_monthly.labelingPolicy = CPTAxisLabelingPolicyNone;
    y_monthly.labelTextStyle = axisTextStyle;
    y_monthly.labelOffset = 16.0f;
    y_monthly.majorTickLineStyle = axisLineStyle;
    y_monthly.majorTickLength = 4.0f;
    y_monthly.minorTickLength = 2.0f;
    y_monthly.tickDirection = CPTSignPositive;
    NSMutableSet *yLabels = [NSMutableSet set];
    NSMutableSet *yMajorLocations = [NSMutableSet set];
    NSMutableSet *yMinorLocations = [NSMutableSet set];
    float minorIncrement=month_MaxY1/10;
    float majorIncrement = minorIncrement*2;
    float yMax = month_MaxY1;

    for (float j = minorIncrement; j <= yMax; j += minorIncrement)
    {
        float mod = fmodf(j, majorIncrement);
        if (mod == 0) {
            CPTAxisLabel *label = [[CPTAxisLabel alloc] initWithText:[NSString stringWithFormat:@""]textStyle:y_monthly.labelTextStyle];
            [label setAlignment:CPTAlignmentTop];
            NSDecimal location = CPTDecimalFromFloat(j);
            label.tickLocation = location;
            label.offset = -y_monthly.majorTickLength - y_monthly.labelOffset;
            if (label) {
                [yLabels addObject:label];
            }
            [yMajorLocations addObject:[NSDecimalNumber decimalNumberWithDecimal:location]];
        } else {

            [yMinorLocations addObject:[NSDecimalNumber decimalNumberWithDecimal:CPTDecimalFromFloat(j)]];
        }
    }
    y_monthly.axisLabels = yLabels;
    y_monthly.majorTickLocations = yMajorLocations;
    y_monthly.minorTickLocations = yMinorLocations;

其中,month_MaxY1 =100,而month_MinY1 =90.0。 请帮助我

最佳答案

使用绘图空间设置 y 轴的范围:

plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(99.0)
                                                length:CPTDecimalFromDouble(1.0)];

标记轴:

y_monthly.labelingPolicy = CPTAxisLabelingPolicyFixedInterval;
y_monthly.majorIntervalLength = CPTDecimalFromDouble(0.1);

这将沿 y 轴每 0.1 个单位进行刻度和标签。设置 labelFormatterlabelTextStyle 来控制标签的外观。

关于iphone - 核心图创建动态Y轴并非常清晰地显示图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16770864/

相关文章:

ios - 是否可以获得小数点未知的浮点值?

ios - 删除核心图中散点图周围的空白

ios - 散点图 y 轴不应延伸到 x 轴或 yMin 值以下

iphone - iOS - 禁用功能的应用审核流程规则

iphone - 如何在基于导航的 iOS 应用程序中访问比当前 View 上一级的 View ?

ios - 如何使用 Storyboards 和 Tab Bar Controller 作为初始 Controller 共享 UIManagedDocument?

iphone - 有没有办法在不进行硬编码的情况下缩短我的 Country ViewController.m?

iphone - UIPickerView 作为 inputView 在方向改变时变得困惑

ios - 当 applicationWillTerminate 时快速启动应用程序

ios - 核心情节 alternatingBandFills "jumps"水平滚动时