Core Plot (macOS)
Cocoa plotting framework for macOS, iOS, and tvOS
|
A plot class representing a range of values in one coordinate, such as typically used to show errors. A range plot can show bars (error bars), or an area fill, or both. More...
#import <CPTRangePlot.h>
Public Instance Methods | |
Bar Style | |
(void) | - reloadBarLineStyles |
Reload all bar line styles from the data source immediately. More... | |
(void) | - reloadBarLineStylesInIndexRange: |
Reload bar line styles in the given index range from the data source immediately. More... | |
(void) | - reloadBarWidths |
Reload all bar widths from the data source immediately. More... | |
(void) | - reloadBarWidthsInIndexRange: |
Reload bar widths in the given index range from the data source immediately. More... | |
Initialization | |
(nonnull instancetype) | - initWithFrame: [implementation] |
Initializes a newly allocated CPTRangePlot object with the provided frame rectangle. More... | |
User Interaction | |
(BOOL) | - pointingDeviceDownEvent:atPoint: [implementation] |
Informs the receiver that the user has pressed the mouse button. More... | |
(BOOL) | - pointingDeviceUpEvent:atPoint: [implementation] |
Informs the receiver that the user has released the mouse button. More... | |
Public Instance Methods inherited from CPTPlot | |
(void) | - reloadPlotDataInIndexRange: [implementation] |
Reload plot data in the given index range from the data source immediately. More... | |
(nullable NSString *) | - titleForLegendEntryAtIndex: [implementation] |
The title text of a legend entry. More... | |
(nullable NSAttributedString *) | - attributedTitleForLegendEntryAtIndex: [implementation] |
The styled title text of a legend entry. More... | |
(nonnull CPTNumberArray *) | - fieldIdentifiersForCoordinate: [implementation] |
The field identifiers that correspond to a particular coordinate. More... | |
(CPTCoordinate) | - coordinateForFieldIdentifier: [implementation] |
The coordinate value that corresponds to a particular field identifier. More... | |
(void) | - positionLabelAnnotation:forIndex: [implementation] |
Adjusts the position of the data label annotation for the plot point at the given index. More... | |
(NSUInteger) | - dataIndexFromInteractionPoint: [implementation] |
Determines the index of the data element that is under the given point. More... | |
(nullable CPTPlotRange *) | - plotRangeForField: |
Determines the smallest plot range that fully encloses the data for a particular field. More... | |
(nullable CPTPlotRange *) | - plotRangeForCoordinate: |
Determines the smallest plot range that fully encloses the data for a particular coordinate. More... | |
(nullable CPTPlotRange *) | - plotRangeEnclosingField: |
Determines the smallest plot range that fully encloses the entire plot for a particular field. More... | |
(nullable CPTPlotRange *) | - plotRangeEnclosingCoordinate: |
Determines the smallest plot range that fully encloses the entire plot for a particular coordinate. More... | |
(NSUInteger) | - dataIndexFromInteractionPoint: |
(NSUInteger) | - numberOfFields |
Number of fields in a plot data record. More... | |
(nonnull CPTNumberArray *) | - fieldIdentifiers |
Identifiers (enum values) identifying the fields. More... | |
(nonnull CPTNumberArray *) | - fieldIdentifiersForCoordinate: |
(CPTCoordinate) | - coordinateForFieldIdentifier: |
(void) | - setDataNeedsReloading |
Marks the receiver as needing the data source reloaded before the content is next drawn. More... | |
(void) | - reloadData |
Reload all plot data, labels, and plot-specific information from the data source immediately. More... | |
(void) | - reloadDataIfNeeded |
Reload plot data from the data source only if the data cache is out of date. More... | |
(void) | - reloadDataInIndexRange: |
Reload plot data, labels, and plot-specific information in the given index range from the data source immediately. More... | |
(void) | - insertDataAtIndex:numberOfRecords: |
Insert records into the plot data cache at the given index. More... | |
(void) | - deleteDataInIndexRange: |
Delete records in the given index range from the plot data cache. More... | |
(void) | - reloadPlotData |
Reload all plot data from the data source immediately. More... | |
(void) | - reloadPlotDataInIndexRange: |
(nullable CPTMutableNumericData *) | - cachedNumbersForField: |
Retrieves an array of numbers from the cache. More... | |
(nullable NSNumber *) | - cachedNumberForField:recordIndex: |
Retrieves a single number from the cache. More... | |
(double) | - cachedDoubleForField:recordIndex: |
Retrieves a single number from the cache. More... | |
(NSDecimal) | - cachedDecimalForField:recordIndex: |
Retrieves a single number from the cache. More... | |
(nullable NSArray *) | - cachedArrayForKey: |
Retrieves an array of values from the cache. More... | |
(nullable id) | - cachedValueForKey:recordIndex: |
Retrieves a single value from the cache. More... | |
(void) | - cacheNumbers:forField: |
Copies an array of numbers to the cache. More... | |
(void) | - cacheNumbers:forField:atRecordIndex: |
Copies an array of numbers to replace a part of the cache. More... | |
(void) | - cacheArray:forKey: |
Copies an array of arbitrary values to the cache. More... | |
(void) | - cacheArray:forKey:atRecordIndex: |
Copies an array of arbitrary values to replace a part of the cache. More... | |
(void) | - setNeedsRelabel |
Marks the receiver as needing to update all data labels before the content is next drawn. More... | |
(void) | - relabel |
Updates the data labels in the labelIndexRange. More... | |
(void) | - relabelIndexRange: |
Marks the receiver as needing to update a range of data labels before the content is next drawn. More... | |
(void) | - repositionAllLabelAnnotations |
Repositions all existing label annotations. More... | |
(void) | - reloadDataLabels |
Reload all data labels from the data source immediately. More... | |
(void) | - reloadDataLabelsInIndexRange: |
Reload data labels in the given index range from the data source immediately. More... | |
(void) | - positionLabelAnnotation:forIndex: |
(NSUInteger) | - numberOfLegendEntries |
The number of legend entries provided by this plot. More... | |
(nullable NSString *) | - titleForLegendEntryAtIndex: |
(nullable NSAttributedString *) | - attributedTitleForLegendEntryAtIndex: |
(void) | - drawSwatchForLegend:atIndex:inRect:inContext: |
Draws the legend swatch of a legend entry. Subclasses should call super to draw the background fill and border. More... | |
(nullable id) | - numbersFromDataSourceForField:recordIndexRange: |
Gets a range of plot data for the given plot and field. More... | |
(BOOL) | - loadNumbersForAllFieldsFromDataSourceInRecordIndexRange: |
Gets a range of plot data for the given plot. More... | |
Public Instance Methods inherited from CPTAnnotationHostLayer | |
(void) | - addAnnotation: |
Adds an annotation to the receiver. More... | |
(void) | - removeAnnotation: |
Removes an annotation from the receiver. More... | |
(void) | - removeAllAnnotations |
Removes all annotations from the receiver. More... | |
(BOOL) | - pointingDeviceDraggedEvent:atPoint: [implementation] |
Informs the receiver that the user has moved the mouse with the button pressed. More... | |
(BOOL) | - pointingDeviceCancelledEvent: [implementation] |
Informs the receiver that tracking of mouse moves has been cancelled for any reason. More... | |
Public Instance Methods inherited from CPTLayer | |
(nullable instancetype) | - initWithCoder: |
Returns an object initialized from data in a given unarchiver. More... | |
(nonnull instancetype) | - initWithLayer: |
Override to copy or initialize custom fields of the specified layer. More... | |
(nonnull instancetype) | - init [implementation] |
Initializes a newly allocated CPTLayer object with an empty frame rectangle. More... | |
(void) | - logLayers |
Logs this layer and all of its sublayers. More... | |
(BOOL) | - pointingDeviceDownEvent:atPoint: [implementation] |
(BOOL) | - pointingDeviceUpEvent:atPoint: [implementation] |
(BOOL) | - pointingDeviceDraggedEvent:atPoint: [implementation] |
(BOOL) | - pointingDeviceCancelledEvent: [implementation] |
(BOOL) | - scrollWheelEvent:fromPoint:toPoint: [implementation] |
(nonnull CPTNativeImage *) | - imageOfLayer |
Gets an image of the layer contents. More... | |
(void) | - setNeedsDisplayAllLayers |
Recursively marks this layer and all sublayers as needing to be redrawn. More... | |
(void) | - renderAsVectorInContext: |
Draws layer content into the provided graphics context. More... | |
(void) | - recursivelyRenderInContext: |
Draws layer content and the content of all sublayers into the provided graphics context. More... | |
(void) | - layoutAndRenderInContext: |
Updates the layer layout if needed and then draws layer content and the content of all sublayers into the provided graphics context. More... | |
(nonnull NSData *) | - dataForPDFRepresentationOfLayer |
Draws layer content and the content of all sublayers into a PDF document. More... | |
(void) | - applySublayerMaskToContext:forSublayer:withOffset: |
Recursively sets the clipping path of the given graphics context to the sublayer masking paths of its superlayers. More... | |
(void) | - applyMaskToContext: |
Sets the clipping path of the given graphics context to mask the content. More... | |
(void) | - pixelAlign |
Align the receiver’s position with pixel boundaries. More... | |
(void) | - sublayerMarginLeft:top:right:bottom: |
Returns the margins that should be left between the bounds of the receiver and all sublayers. More... | |
(void) | - layoutSublayers [implementation] |
Updates the layout of all sublayers. Sublayers fill the super layer’s bounds minus any padding. More... | |
Public Instance Methods inherited from CALayer | |
(BOOL) | - containsPoint: |
(void) | - drawInContext: |
(id) | - init |
(id) | - initWithLayer |
(void) | - layoutSublayers |
(void) | - setNeedsDisplay |
(void) | - setNeedsDisplayInRect: |
(void) | - setNeedsLayout |
Public Instance Methods inherited from NSObject | |
(Class) | - classForCoder |
(id) | - copy |
(void) | - dealloc |
(void) | - finalize |
(id) | - init |
(id) | - mutableCopy |
Public Instance Methods inherited from <NSObject> | |
(NSString *) | - description |
(NSUInteger) | - hash |
(BOOL) | - isEqual: |
Public Instance Methods inherited from <NSKeyValueBindingCreation> | |
(NSArray *) | - exposedBindings |
(Class) | - valueClassForBinding: |
(void) | - bind:toObject:withKeyPath:options: |
(NSArray *) | - optionDescriptionsForBinding: |
(NSDictionary *) | - infoForBinding: |
(void) | - unbind: |
Public Instance Methods inherited from <NSCoding> | |
(id) | - initWithCoder: |
(void) | - encodeWithCoder: |
Public Instance Methods inherited from <CPTResponder> | |
(BOOL) | - scrollWheelEvent:fromPoint:toPoint: |
(Required) Informs the receiver that the user has moved the scroll wheel. More... | |
Properties | |
Appearance | |
CPTLineStyle * | barLineStyle |
The line style of the range bars. Set to nil to have no bars. Default is a black line style. More... | |
CGFloat | barWidth |
Width of the lateral sections of the bars. More... | |
CGFloat | gapHeight |
Height of the central gap. Set to zero to have no gap. More... | |
CGFloat | gapWidth |
Width of the central gap. Set to zero to have no gap. More... | |
Drawing | |
CPTRangePlotFillDirection | fillDirection |
Fill the range in a horizontal or vertical direction. Default is CPTRangePlotFillHorizontal. More... | |
CPTFill * | areaFill |
The fill used to render the area. Set to nil to have no fill. Default is nil. More... | |
CPTLineStyle * | areaBorderLineStyle |
The line style of the border line around the area fill. Set to nil to have no border line. Default is nil. More... | |
Properties inherited from CPTPlot | |
id< CPTPlotDataSource > | dataSource |
The data source for the plot. More... | |
NSString * | title |
The title of the plot displayed in the legend. More... | |
NSAttributedString * | attributedTitle |
The styled title of the plot displayed in the legend. More... | |
CPTPlotSpace * | plotSpace |
The plot space for the plot. More... | |
CPTPlotArea * | plotArea |
The plot area for the plot. More... | |
BOOL | alignsPointsToPixels |
If YES (the default), all plot points will be aligned to device pixels when drawing. More... | |
BOOL | dataNeedsReloading |
If YES, the plot data will be reloaded from the data source before the layer content is drawn. More... | |
NSUInteger | cachedDataCount |
The number of data points stored in the cache. More... | |
BOOL | doublePrecisionCache |
If YES, the cache holds data of type double , otherwise it holds NSDecimal. More... | |
CPTPlotCachePrecision | cachePrecision |
The numeric precision used to cache the plot data and perform all plot calculations. Defaults to CPTPlotCachePrecisionAuto. More... | |
CPTNumericDataType | doubleDataType |
The CPTNumericDataType used to cache plot data as double . More... | |
CPTNumericDataType | decimalDataType |
The CPTNumericDataType used to cache plot data as NSDecimal. More... | |
BOOL | needsRelabel |
If YES, the plot needs to be relabeled before the layer content is drawn. More... | |
BOOL | adjustLabelAnchors |
If YES, data labels anchor points are adjusted automatically when the labels are positioned. If NO, data labels anchor points do not change. More... | |
BOOL | showLabels |
Set to NO to override all other label settings and hide the data labels. Defaults to YES. More... | |
CGFloat | labelOffset |
The distance that labels should be offset from their anchor points. The direction of the offset is defined by subclasses. More... | |
CGFloat | labelRotation |
The rotation of the data labels in radians. Set this property to π/2 to have labels read up the screen, for example. More... | |
NSUInteger | labelField |
The plot field identifier of the data field used to generate automatic labels. More... | |
CPTTextStyle * | labelTextStyle |
The text style used to draw the data labels. Set this property to nil to hide the data labels. More... | |
NSFormatter * | labelFormatter |
The number formatter used to format the data labels. Set this property to nil to hide the data labels. If you need a non-numerical label, such as a date, you can use a formatter than turns the numerical plot coordinate into a string (e.g., “Jan 10, 2010”). The CPTCalendarFormatter and CPTTimeFormatter classes are useful for this purpose. More... | |
CPTShadow * | labelShadow |
The shadow applied to each data label. More... | |
BOOL | drawLegendSwatchDecoration |
If YES (the default), additional plot-specific decorations, symbols, and/or colors will be drawn on top of the legend swatch rectangle. More... | |
Properties inherited from CPTAnnotationHostLayer | |
CPTAnnotationArray * | annotations |
An array of annotations attached to this layer. More... | |
Properties inherited from CPTLayer | |
CPTGraph * | graph |
The graph for the layer. More... | |
CGFloat | paddingLeft |
Amount to inset the left side of each sublayer. More... | |
CGFloat | paddingTop |
Amount to inset the top of each sublayer. More... | |
CGFloat | paddingRight |
Amount to inset the right side of each sublayer. More... | |
CGFloat | paddingBottom |
Amount to inset the bottom of each sublayer. More... | |
id< NSCopying, NSCoding, NSObject > | identifier |
An object used to identify the layer in collections. More... | |
CGFloat | contentsScale |
The scale factor applied to the layer. More... | |
BOOL | useFastRendering |
If YES, subclasses should optimize their drawing for speed over precision. More... | |
CPTShadow * | shadow |
The shadow drawn under the layer content. If nil (the default), no shadow is drawn. More... | |
CGSize | shadowMargin |
The maximum margin size needed to fully enclose the layer shadow. More... | |
BOOL | masksToBorder |
If YES, a sublayer mask is applied to clip sublayer content to the inside of the border. More... | |
CGPathRef | outerBorderPath |
A drawing path that encompasses the outer boundary of the layer border. More... | |
CGPathRef | innerBorderPath |
A drawing path that encompasses the inner boundary of the layer border. More... | |
CGPathRef | maskingPath |
A drawing path that encompasses the layer content including any borders. Set to NULL when no masking is desired. More... | |
CGPathRef | sublayerMaskingPath |
A drawing path that encompasses the layer content excluding any borders. Set to NULL when no masking is desired. More... | |
CPTSublayerSet * | sublayersExcludedFromAutomaticLayout |
A set of sublayers that should be excluded from the automatic sublayer layout. More... | |
Properties inherited from CALayer | |
CGPoint | anchorPoint |
CGRect | bounds |
CGFloat | contentsScale |
CGFloat | cornerRadius |
id | delegate |
CGRect | frame |
BOOL | masksToBounds |
BOOL | needsDisplayOnBoundsChange |
BOOL | opacity |
BOOL | opaque |
Properties inherited from <CAMediaTiming> | |
BOOL | autoreverses |
CFTimeInterval | beginTime |
CFTimeInterval | duration |
NSString * | fillMode |
float | repeatCount |
id | repeatDuration |
float | speed |
CFTimeInterval | timeOffset |
Additional Inherited Members | |
Public Class Methods inherited from CPTPlot | |
(nonnull id) | + nilData |
A unique marker object used in collections to indicate that the datasource returned nil. More... | |
Public Class Methods inherited from CALayer | |
(id) | + layer |
Public Class Methods inherited from NSObject | |
(id) | + alloc |
(Class) | + class |
(void) | + initialize |
(void) | + load |
(id) | + new |
Public Class Methods inherited from <NSKeyValueBindingCreation> | |
(void) | + exposeBinding: |
Public Class Methods inherited from <NSSecureCoding> | |
(BOOL) | + supportsSecureCoding: |
A plot class representing a range of values in one coordinate, such as typically used to show errors. A range plot can show bars (error bars), or an area fill, or both.
|
implementation |
Initializes a newly allocated CPTRangePlot object with the provided frame rectangle.
This is the designated initializer. The initialized layer will have the following properties:
newFrame | The frame rectangle. |
Reimplemented from CPTPlot.
|
implementation |
Informs the receiver that the user has pressed the mouse button.
If this plot has a delegate that responds to the -rangePlot:rangeTouchDownAtRecordIndex: or -rangePlot:rangeTouchDownAtRecordIndex:withEvent: methods, the interactionPoint
is compared with each bar in index order. The delegate method will be called and this method returns YES for the first index where the interactionPoint
is inside a bar. This method returns NO if the interactionPoint
is outside all of the bars.
event | The OS event. |
interactionPoint | The coordinates of the interaction. |
Reimplemented from CPTPlot.
|
implementation |
Informs the receiver that the user has released the mouse button.
If this plot has a delegate that responds to the -rangePlot:rangeTouchUpAtRecordIndex: and/or -rangePlot:rangeTouchUpAtRecordIndex:withEvent: methods, the interactionPoint
is compared with each bar in index order. The delegate method will be called and this method returns YES for the first index where the interactionPoint
is inside a bar. This method returns NO if the interactionPoint
is outside all of the bars.
If the bar being released is the same as the one that was pressed (see -pointingDeviceDownEvent:atPoint: ), if the delegate responds to the -rangePlot:rangeWasSelectedAtRecordIndex: and/or -rangePlot:rangeWasSelectedAtRecordIndex:withEvent: methods, these will be called.
event | The OS event. |
interactionPoint | The coordinates of the interaction. |
Reimplemented from CPTPlot.
- (void) reloadBarLineStyles |
Reload all bar line styles from the data source immediately.
- (void) reloadBarLineStylesInIndexRange: | (NSRange) | indexRange |
Reload bar line styles in the given index range from the data source immediately.
indexRange | The index range to load. |
- (void) reloadBarWidths |
Reload all bar widths from the data source immediately.
- (void) reloadBarWidthsInIndexRange: | (NSRange) | indexRange |
Reload bar widths in the given index range from the data source immediately.
indexRange | The index range to load. |
|
readwritenonatomiccopy |
|
readwritenonatomiccopy |
|
readwritenonatomiccopy |
The line style of the range bars. Set to nil to have no bars. Default is a black line style.
|
readwritenonatomicassign |
Fill the range in a horizontal or vertical direction. Default is CPTRangePlotFillHorizontal.