【问题标题】:Core Plot: Increase space between ticks on the x-axis?核心情节:增加 x 轴刻度之间的空间?
【发布时间】:2014-02-09 00:25:09
【问题描述】:

我有这段代码用于在 x 轴上制作刻度和标签:

    CPTAxis *x = axisSet.xAxis;
    x.title = @"Hour of Day";
    x.titleTextStyle = axisTitleStyle;
    x.titleOffset = 15.0f;
    x.axisLineStyle = axisLineStyle;
    x.labelingPolicy = CPTAxisLabelingPolicyNone;
    x.labelTextStyle = axisTextStyle;
    x.majorTickLineStyle = axisLineStyle;
    x.majorTickLength = 4.0f;
    x.tickDirection = CPTSignNegative;
    CGFloat dateCount = [timestamps count];
    NSMutableSet *xLabels = [NSMutableSet setWithCapacity:dateCount];
    NSMutableSet *xLocations = [NSMutableSet setWithCapacity:dateCount];
    NSInteger i = 0;
    for (NSString *date in timestampStrings) {
        CPTAxisLabel *label = [[CPTAxisLabel alloc] initWithText:date textStyle:x.labelTextStyle];
        CGFloat location = i++;
        label.tickLocation = CPTDecimalFromCGFloat(location);
        label.offset = x.majorTickLength;
        if (label) {
            [xLabels addObject:label];
            [xLocations addObject:[NSNumber numberWithFloat:location]];
        }
    }
    x.axisLabels = xLabels;
    x.majorTickLocations = xLocations;

我想知道我是否可以扩大每个刻度之间的距离,因为现在它看起来就像一个挤在一起的烂摊子,与点不对齐。有没有办法在每个刻度之间留出更多空间,比如 10 像素?谢谢!

【问题讨论】:

  • 如果您仍然面临问题,请告诉我,我会为您提供答案。 #HappyToHelp
  • 我很欣赏这种情绪,但这个问题已经解决了。该应用程序已发布!谢谢,哈哈。

标签: ios core-plot


【解决方案1】:

我检查了它,它都在CGFloat location = i++; 中。我将其更改为我想要的(5,以像素为单位),如下所示:

CGFloat location = i+=5;

而且成功了。

【讨论】:

    【解决方案2】:

    假设您使用CPTXYGraph 及其CPTXYPlotSpace。使用 plotSpace.globalXRangeplotSpace.xRange 属性,您可以调整 X 轴的适当比例。
    globalXRange 定义整个绘图区域,而xRange 定义其可见空间。如果不使用滚动,则xRange 必须等于globalXRange

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-14
      相关资源
      最近更新 更多