如何在iOS-charts左轴设置250步长的刻度值?
解决iOS Charts左轴250步长刻度设置问题
你当前的代码里有几个关键设置错误,导致无法强制250的步长,调整方案如下:
- 必须开启
granularityEnabled,否则granularity的设置会被忽略,图表会自动调整刻度 - 把
granularity设为250,强制刻度间隔为250 - 去掉无效的
axisRange设置,这个属性不是用来控制步长的 - 保留
axisMinimum和axisMaximum的计算逻辑,确保最大值是250的整数倍
修正后的代码:
ChartYAxis *leftAxis = self.lineChartView.leftAxis; leftAxis.labelTextColor = [UIColor colorNamed:@"ColorGraphSD"]; leftAxis.axisMinimum = 0; leftAxis.axisMaximum = ceil(maxValue / 250.0) * 250; // 这里计算正确,2000符合要求 leftAxis.drawGridLinesEnabled = YES; leftAxis.drawZeroLineEnabled = NO; leftAxis.granularityEnabled = YES; // 开启步长强制生效 leftAxis.granularity = 250; // 设置固定步长为250 leftAxis.labelCount = ceil(maxValue / 250.0); // 保持标签数量计算,图表会自动对齐到250倍数的刻度
这样设置后,左轴会严格按照250、500、750…2000的刻度显示——granularity强制了刻度的最小间隔,开启granularityEnabled让该设置生效,配合正确的最大最小值,就能得到你想要的效果。
内容的提问来源于stack exchange,提问作者Hape42
相关产品推荐
相关产品推荐

