NChartValueAxis Class Reference
Inherits from | NChartAxis : NChartObject : NSObject |
---|---|
Declared in | NChartValueAxis.h |
kind
Kind of axis.
@property (nonatomic, readonly) NChartValueAxisKind kind
See Also
Declared In
NChartValueAxis.h
minValue
Minimal value on the axis. It is obtained from the data source and, if needed, processed to look more beautiful.
@property (nonatomic, readonly) double minValue
Declared In
NChartValueAxis.h
maxValue
Maximal value on the axis. It is obtained from the data source and, if needed, processed to look more beautiful.
@property (nonatomic, readonly) double maxValue
Declared In
NChartValueAxis.h
minDate
Minimal date on the axis. It is obtained from the data source and, if needed, processed to look more beautiful.
@property (nonatomic, readonly) NSDate *minDate
Discussion
This property works in date mode only, if hasDates is YES. Otherwise it returns nil.
Declared In
NChartValueAxis.h
maxDate
Maximal date on the axis. It is obtained from the data source and, if needed, processed to look more beautiful.
@property (nonatomic, readonly) NSDate *maxDate
Discussion
This property works in date mode only, if hasDates is YES. Otherwise it returns nil.
Declared In
NChartValueAxis.h
dateStep
Time interval from one date tick to another. It is either obtained from the data source or, if not provided, calculated according to the minDate and maxDate to look beautiful.
@property (nonatomic, readonly) NSTimeInterval dateStep
Discussion
This property works in date mode only, if hasDates is YES. Otherwise it returns 0.
Declared In
NChartValueAxis.h
ticks
Array of strings that are displayed as ticks on the axis. It is obtained from the data source or nil if not provided.
@property (nonatomic, readonly) NSArray *ticks
Declared In
NChartValueAxis.h
length
Length of axis in 3D scene units. This value is obtained from the data source or, if not provided, is assigned to 1. It has an effect for axes being displayed in 3D only. In 2D this value is ignored because axes fill the whole area available on the screen. One 3D scene unit is equal to half a screen size by initial zoom (so space of the 3D scene is actually nonlinear respective to the screen). Therefore, by default all axes have equal length and form a kind of cube in 3D that is centered on the screen and is as big as half of the biggest screen’s dimension. However, if you want, for example, to make the Z-axis shorter than the others, you can provide a length of 0.5 for it. It will therefore be twice as short as the others.
@property (nonatomic, readonly) double length
Declared In
NChartValueAxis.h
color
Color of the axis line.
@property (nonatomic, strong) NSColor *color
Declared In
NChartValueAxis.h
font
Font for the ticks' labels.
@property (nonatomic, strong) NSFont *font
Declared In
NChartValueAxis.h
textColor
Color of the text for the ticks' labels.
@property (nonatomic, strong) NSColor *textColor
Declared In
NChartValueAxis.h
hasOffset
Flag that determines if there should be an offset on the axis. The offset is the spacing from the beginning of the axis to the first tick and from the last tick to the end of the axis. If this flag is YES, the spacing is half a step. If NO, spacing is zero.
@property (nonatomic, assign) BOOL hasOffset
Declared In
NChartValueAxis.h
minTickSpacing
Minimal spacing between neighbor ticks in pixels (the tick is the center place for the tick label, a kind of milestone on the axis). According to this value some labels can be hidden, if there are too many of them. The default value is 50.
@property (nonatomic, assign) float minTickSpacing
Declared In
NChartValueAxis.h
maxLabelLength
Maximal allowed label length in pixels. If 0, maximal label width is calculated automatically according to the length between neighbor ticks. The default value is 0.
@property (nonatomic, assign) float maxLabelLength
Declared In
NChartValueAxis.h
labelsLineBreakMode
Line break mode for axis labels. The default value is NSLineBreakByWordWrapping.
@property (nonatomic, assign) NSLineBreakMode labelsLineBreakMode
Declared In
NChartValueAxis.h
thickness
Thickness of the axis' line in pixels.
@property (nonatomic, assign) float thickness
Declared In
NChartValueAxis.h
lineDash
Dash of the axis' line.
@property (nonatomic, strong) NChartLineDash *lineDash
See Also
Declared In
NChartValueAxis.h
majorTicks
Major ticks of the axis. Major ticks are spread from the minValue to the maxValue through step or, if no minValue and maxValue are provided but a ticks array is provided, the whole axis length is divided by the number of ticks and for each tick there is a major tick displayed. Major ticks can be labeled.
@property (nonatomic, readonly) NChartAxisTick *majorTicks
See Also
Declared In
NChartValueAxis.h
minorTicks
Minor ticks of the axis. Minor ticks are displayed in the middle between two neighbor major ticks. See majorTicks for details.
@property (nonatomic, readonly) NChartAxisTick *minorTicks
See Also
Declared In
NChartValueAxis.h
tinyTicks
Tiny ticks of the axis. Tiny ticks are displayed between consecutive major ticks. However there is a gap in tiny ticks where tiny ticks potentially overlap with major/minor ticks (even if major/minor ticks are switched off). See majorTicks, minorTicks and tinyTickIntervalsPerInterval for details.
@property (nonatomic, readonly) NChartAxisTick *tinyTicks
See Also
Declared In
NChartValueAxis.h
tinyTickIntervalsPerInterval
Number of tiny intervals the interval between two consecutive major ticks is split up into. Tiny intervals are
bounded with the tiny ticks. The default value is 0, which means no tiny ticks are displayed.
If for example this value is 10, that means each interval between two labels is split up into 10
sub-intervals and therefore should have 11 tiny ticks inside.
However, only 8 tiny ticks will be visible, and 1th, 6th and 11th ticks will be discarded, because they potentially
overlap with major/minor ticks (even if major/minor ticks are switched off).
@property (nonatomic, assign) NSInteger tinyTickIntervalsPerInterval
Declared In
NChartValueAxis.h
caption
Caption of the axis.
@property (nonatomic, readonly) NChartLabel *caption
See Also
Declared In
NChartValueAxis.h
labelsVisible
Flag that determines if the labels of ticks are visible (YES) or not (NO). The default value is YES.
@property (nonatomic, assign) BOOL labelsVisible
Declared In
NChartValueAxis.h
lineVisible
Flag that determines if the line of the axis is visible (YES) or not (NO). The default value is NO.
@property (nonatomic, assign) BOOL lineVisible
Declared In
NChartValueAxis.h
alwaysShowZero
Flag that determines whether zero is always on the axis. This flag makes sense if minValue and maxValue are both less or greater than zero and are beautified according to the data source. In this case, if this flag is false, it may happen, that no zero will be on the axis (for example, if minValue = 11.5 and maxValue = 19, the axis will probably start with 10 and end with 20, having 4 steps). With this flag set to true, zero will always be on the axis, so even with minValue = 11.5 and maxValue = 19 the axis will start with 0 and end with 20 having probably 5 steps or so. The default value is NO.
@property (nonatomic, assign) BOOL alwaysShowZero
Declared In
NChartValueAxis.h
labelsIn3D
Flag that determines whether the axis labels are in “perspective” screen (YES) or are projected in the 2D screen (NO). This flag only affects 3D-charts. The default value is YES.
@property (nonatomic, assign) BOOL labelsIn3D
Declared In
NChartValueAxis.h
captionIn3D
Flag that determines whether the axis caption is in “perspective” screen (YES) or is projected in the 2D screen (NO). This flag only affects 3D-charts. The default value is YES.
@property (nonatomic, assign) BOOL captionIn3D
Declared In
NChartValueAxis.h
shouldBeautifyMinAndMax
Flag that determines whether min and max values on the axis should be beautified in case they are calculated (YES) or not (NO). The default value is YES.
@property (nonatomic, assign) BOOL shouldBeautifyMinAndMax
Declared In
NChartValueAxis.h
labelsAngle
Axis labels' rotation angle.
@property (nonatomic, assign) float labelsAngle
See Also
NChart, property drawIn3D.
Declared In
NChartValueAxis.h
labelsAlignment
Alignment of the axis labels relative to the axis ticks. The default value for X-Axis is NChartAxisLabelsAlignmentCenter, for Y-Axis is NChartAxisLabelsAlignmentRight, for Z-Axis is NChartAxisLabelsAlignmentLeft.
@property (nonatomic, assign) NChartAxisLabelsAlignment labelsAlignment
Declared In
NChartValueAxis.h
dataSource
Data source of the axis.
@property (nonatomic, assign) id<NChartValueAxisDataSource> dataSource
See Also
Declared In
NChartValueAxis.h
delegate
Delegate of the axis.
@property (nonatomic, assign) id<NChartValueAxisDelegate> delegate
See Also
Declared In
NChartValueAxis.h
– zoomToRegionFrom:to:duration:delay:
Zoom to given region by specifying the least and the greatest values that should be visible on the axis. If the
axis has array of ticks, indices in this array can be used. Use this method after you updated data of the chart
with [chart updateData]
call.
- (void)zoomToRegionFrom:(float)startValue to:(float)endValue duration:(float)duration delay:(float)delay
Parameters
startValue |
|
---|---|
endValue |
|
duration |
|
delay |
|
Declared In
NChartValueAxis.h
– zoomToDateRegionFrom:to:duration:delay:
Zoom to given region by specifying the earliest and the latest dates that should be visible on the axis.
This method works in date mode only, if hasDates is YES.
Use this method after you updated data of the chart with [chart updateData]
call.
- (void)zoomToDateRegionFrom:(NSDate *)startDate to:(NSDate *)endDate duration:(float)duration delay:(float)delay
Parameters
startDate |
|
---|---|
endDate |
|
duration |
|
delay |
|
Declared In
NChartValueAxis.h
marks
Array of axis marks.
@property (nonatomic, readonly) NSArray *marks
See Also
Declared In
NChartValueAxis.h
– addMark:
Add axis mark.
- (void)addMark:(NChartValueAxisMark *)mark
Parameters
mark |
|
---|
See Also
Declared In
NChartValueAxis.h
– removeMark:
Remove axis mark.
- (void)removeMark:(NChartValueAxisMark *)mark
Parameters
mark |
|
---|
See Also
Declared In
NChartValueAxis.h
– removeAllMarks
Remove all axis marks.
- (void)removeAllMarks
See Also
Declared In
NChartValueAxis.h
– calcOptimalMinTickSpacing
Calculate optimal value for minTickSpacing.
Use this method if you want to get minTickSpacing that corresponds to the actual lengths of axis ticks'
labels.
- (void)calcOptimalMinTickSpacing
Discussion
You should call this method after the updateData
call of the chart, because this method operates
with the data obtained from data source. If you call it before the data are updated, the result will be wrong.
Declared In
NChartValueAxis.h
– fitZoomByMinTickSpacingWithDuration:delay:
Fit the zoom according to the current minTickSpacing.
Use this method if you want to zoom the chart so that the maximal number of points is visible with no
skipping of ticks on the axis.
- (void)fitZoomByMinTickSpacingWithDuration:(float)duration delay:(float)delay
Parameters
duration |
|
---|---|
delay |
|
Discussion
This method requires frame of the chart to be determined. So if you call this method before the chart’s layout, it will fail. If you want the axes to be automatically zoomed according to the minTickSpacing, use the flag shouldAutoFitZoomByMinTickSpacing.
Declared In
NChartValueAxis.h
shouldAutoFitZoomByMinTickSpacing
Flag determining if zoom of the axis should be automatically fit according to the current minTickSpacing (YES) or
not (NO). The default value is NO.
Set this flag to YES if you want to zoom the chart so that the maximal number of points is visible with
no skipping of ticks on the axis. Best practice is to set this flag and call calcOptimalMinTickSpacing.
@property (nonatomic, assign) BOOL shouldAutoFitZoomByMinTickSpacing
Discussion
If this flag is set to YES, zoom of the axis is changed automatically by each chart’s layout. Zoom you set manually before layout will be ignored.
Auto fitting works in 2D mode only.
Declared In
NChartValueAxis.h
hasDates
Flag indicating if axis displays dates instead of values (YES) or regular values (NO). The default value is NO.
@property (nonatomic, assign) BOOL hasDates
Declared In
NChartValueAxis.h
isContinuous
Flag determining if axis is continuous (YES) or not (NO). The default value is YES.
Continuous axis changes its step when chart is zoomed in. For example, if the step of axis is 1 and this flag is set
to YES, than, when you zoom the chart in, the step will be changed to 0.5, then to 0.25 and so on.
However if this flag is set to NO, the step will remain to be 1.
Note, that if you zoom out and there is not enough place for ticks, the step will be changed independently of this
flag to skip some ticks and avoid overlapping. You can control this skipping by minTickSpacing
property.
If the axis has discrete ticks, this property is ignored.
@property (nonatomic, assign) BOOL isContinuous
Declared In
NChartValueAxis.h
isLogarithmic
Flag determining if axis has logarithmic scale (YES) or linear scale (NO). The default value is NO. The base of scale’s logarithm is controlled by logarithmBase property.
@property (nonatomic, assign) BOOL isLogarithmic
Declared In
NChartValueAxis.h
logarithmBase
Base of logarithm for logarithmic scale. The default value is 10.
@property (nonatomic, assign) double logarithmBase
Discussion
This property takes effect if isLogarithmic is set to YES only.
Declared In
NChartValueAxis.h
positionX
Coordinate controlling horizontal position of the axis.
@property (nonatomic, readonly) NChartAxisPositionCoord *positionX
See Also
Declared In
NChartValueAxis.h
positionY
Coordinate controlling vertical position of the axis.
@property (nonatomic, readonly) NChartAxisPositionCoord *positionY
See Also
Declared In
NChartValueAxis.h
positionZ
Coordinate controlling depth position of the axis.
@property (nonatomic, readonly) NChartAxisPositionCoord *positionZ
See Also
Declared In
NChartValueAxis.h
isFlipped
Flag determining if value axis is flipped (displayed from max to min, YES) or not (displayed from min to max, NO). The default value is NO.
@property (nonatomic, assign) BOOL isFlipped
Declared In
NChartValueAxis.h
visibleRange
Get values (or dates, if the axis has dates) range visible on the screen in current chart zoom/pan position.
You can alter this value by zoomToRegion
call.
@property (nonatomic, readonly) NChartValueAxisRange *visibleRange
Declared In
NChartValueAxis.h
referenceValueInZero
Flag determining if the axis reference value is in its zero value (YES) or minimal value (NO). The default value is YES. The reference value is kind of “floor” value used by some of the series. For example, columns and bars use reference to indicate where to “grow” from. If this value is YES and there are positive and negative values in the series data, columns with positive value will grow up from zero and the ones with negative value will grow down from zero. Otherwise, if this flag is NO, all the columns will grow up from minimum.
@property (nonatomic, assign) BOOL referenceValueInZero
Declared In
NChartValueAxis.h
isCaptionReversed
Flag determining if axis caption is reversed (rotated 180 degrees, YES) or not (NO). The default value is NO.
@property (nonatomic, assign) BOOL isCaptionReversed
Declared In
NChartValueAxis.h