コアプロット グラフに奇妙な問題があります。6 つの y 軸があり、それらすべてに「CPTAxisLabelingPolicyEqualDivisions」というポリシーがあります。グラフはスクロールでき、軸のラベルは正しく更新されました。しかし、グラフを下にスクロールしようとすると、特定の軸の最後のラベルが消えることがあります。
これは、軸と相対プロット、プロットスペースを作成するためのコードです:
CPTXYAxis *A_Axis = [[CPTXYAxis alloc] init] ;
A_Axis.coordinate = CPTCoordinateY;
A_Axis.orthogonalCoordinateDecimal = CPTDecimalFromCGFloat(_ASpace.yRange.locationDouble);
A_Axis.labelingPolicy = CPTAxisLabelingPolicyEqualDivisions;
A_Axis.majorGridLineStyle = majorGridLineStyle;
A_Axis.minorGridLineStyle = minorGridLineStyle;
A_Axis.preferredNumberOfMajorTicks = MAX_NUMBER_LABEL;
A_Axis.minorTicksPerInterval = 0;
A_Axis.labelOffset = 3.0;
A_Axis.labelPositionY = 0.0;
labelTextStyle.color = [CPTColor colorWithCGColor:A_Color.CGColor];
A_Axis.tickDirection = CPTSignNegative;
A_Axis.labelTextStyle = labelTextStyle;
A_Axis.axisConstraints = [CPTConstraints constraintWithRelativeOffset:0.0];
A_Axis.plotSpace = _ASpace;
CPTXYAxis *B_Axis = [[CPTXYAxis alloc] init] ;
B_Axis.coordinate = CPTCoordinateY;
B_Axis.orthogonalCoordinateDecimal = CPTDecimalFromCGFloat(_BSpace.yRange.locationDouble);
B_Axis.labelingPolicy = CPTAxisLabelingPolicyEqualDivisions;
B_Axis.majorGridLineStyle = majorGridLineStyle;
B_Axis.preferredNumberOfMajorTicks = MAX_NUMBER_LABEL;
B_Axis.minorTicksPerInterval = 0;
B_Axis.labelOffset = 3.0;
B_Axis.labelPositionY = 11.0;
labelTextStyle.color = [CPTColor colorWithCGColor:B_Color.CGColor];
B_Axis.tickDirection = CPTSignNegative;
B_Axis.labelTextStyle = labelTextStyle;
B_Axis.axisConstraints = [CPTConstraints constraintWithRelativeOffset:0.0];
B_Axis.plotSpace = _BSpace;
CPTXYAxis *C_Axis = [[CPTXYAxis alloc] init] ;
C_Axis.coordinate = CPTCoordinateY;
C_Axis.orthogonalCoordinateDecimal = CPTDecimalFromCGFloat(_CSpace.yRange.locationDouble);
C_Axis.labelingPolicy = CPTAxisLabelingPolicyEqualDivisions;
C_Axis.majorGridLineStyle = majorGridLineStyle;
C_Axis.preferredNumberOfMajorTicks = MAX_NUMBER_LABEL;
C_Axis.minorTicksPerInterval = 0;
C_Axis.labelOffset = 3.0;
C_Axis.labelPositionY = 22.0;
labelTextStyle.color = [CPTColor colorWithCGColor:C_Color.CGColor];
C_Axis.tickDirection = CPTSignNegative;
C_Axis.labelTextStyle = labelTextStyle;
C_Axis.axisConstraints = [CPTConstraints constraintWithRelativeOffset:0.0];
C_Axis.plotSpace = _CSpace;
CPTXYAxis *D_Axis = [[CPTXYAxis alloc] init] ;
D_Axis.coordinate = CPTCoordinateY;
D_Axis.orthogonalCoordinateDecimal = CPTDecimalFromCGFloat(_DSpace.yRange.locationDouble);
D_Axis.labelingPolicy = CPTAxisLabelingPolicyEqualDivisions;
D_Axis.majorGridLineStyle = majorGridLineStyle;
D_Axis.minorGridLineStyle = minorGridLineStyle;
D_Axis.preferredNumberOfMajorTicks = MAX_NUMBER_LABEL;
D_Axis.minorTicksPerInterval = 0;
D_Axis.labelOffset = 3.0;
D_Axis.labelPositionY = 0.0;
labelTextStyle.color = [CPTColor colorWithCGColor:D_Color.CGColor];
D_Axis.tickDirection = CPTSignPositive;
D_Axis.labelTextStyle = labelTextStyle;
D_Axis.axisConstraints = [CPTConstraints constraintWithRelativeOffset:1.0];
D_Axis.plotSpace = _DSpace;
CPTXYAxis *E_Axis = [[CPTXYAxis alloc] init] ;
E_Axis.coordinate = CPTCoordinateY;
E_Axis.orthogonalCoordinateDecimal = CPTDecimalFromCGFloat(_ESpace.yRange.locationDouble);
E_Axis.labelingPolicy = CPTAxisLabelingPolicyEqualDivisions;
E_Axis.majorGridLineStyle = majorGridLineStyle;
E_Axis.preferredNumberOfMajorTicks = MAX_NUMBER_LABEL;
E_Axis.minorTicksPerInterval = 0;
E_Axis.labelOffset = 3.0;
E_Axis.labelPositionY = 11.0;
labelTextStyle.color = [CPTColor colorWithCGColor:E_Color.CGColor];
E_Axis.tickDirection = CPTSignPositive;
E_Axis.labelTextStyle = labelTextStyle;
E_Axis.axisConstraints = [CPTConstraints constraintWithRelativeOffset:1.0];
E_Axis.plotSpace = _ESpace;
CPTXYAxis *F_Axis = [[CPTXYAxis alloc] init] ;
F_Axis.coordinate = CPTCoordinateY;
F_Axis.orthogonalCoordinateDecimal = CPTDecimalFromCGFloat(_FSpace.yRange.locationDouble);
F_Axis.labelingPolicy = CPTAxisLabelingPolicyEqualDivisions;
F_Axis.majorGridLineStyle = majorGridLineStyle;
F_Axis.preferredNumberOfMajorTicks = MAX_NUMBER_LABEL;
F_Axis.minorTicksPerInterval = 0;
F_Axis.labelOffset = 3.0;
F_Axis.labelPositionY = -11.0;
labelTextStyle.color = [CPTColor colorWithCGColor:F_Color.CGColor];
F_Axis.tickDirection = CPTSignPositive;
F_Axis.labelTextStyle = labelTextStyle;
F_Axis.axisConstraints = [CPTConstraints constraintWithRelativeOffset:1.0];
F_Axis.plotSpace = _FSpace;
最初の 3 つの軸を左側 (制約 0) に配置し、もう 1 つの軸をグラフの右側に配置しました。最後の緑色のラベルが表示されない問題の例を以下に示します。
http://www.mathnormal.altervista.org/axis.png
前もって感謝します。