Core Plot (macOS)
Cocoa plotting framework for macOS, iOS, and tvOS
|
An abstract graph class. More...
#import <CPTGraph.h>
Public Instance Methods | |
Data Source | |
(void) | - reloadData |
Makes all plots reload their data. More... | |
(void) | - reloadDataIfNeeded |
Makes all plots reload their data if their data cache is out of date. More... | |
Retrieving Plots | |
(nonnull CPTPlotArray *) | - allPlots |
All plots associated with the graph. More... | |
(nullable CPTPlot *) | - plotAtIndex: |
Gets the plot at the given index in the plot array. More... | |
(nullable CPTPlot *) | - plotWithIdentifier: |
Gets the plot with the given identifier from the plot array. More... | |
Adding and Removing Plots | |
(void) | - addPlot: |
Add a plot to the default plot space. More... | |
(void) | - addPlot:toPlotSpace: |
Add a plot to the given plot space. More... | |
(void) | - removePlot: |
Remove a plot from the graph. More... | |
(void) | - removePlotWithIdentifier: |
Remove a plot from the graph. More... | |
(void) | - insertPlot:atIndex: |
Add a plot to the default plot space at the given index in the plot array. More... | |
(void) | - insertPlot:atIndex:intoPlotSpace: |
Add a plot to the given plot space at the given index in the plot array. More... | |
Retrieving Plot Spaces | |
(nonnull CPTPlotSpaceArray *) | - allPlotSpaces |
All plot spaces associated with the graph. More... | |
(nullable CPTPlotSpace *) | - plotSpaceAtIndex: |
Gets the plot space at the given index in the plot space array. More... | |
(nullable CPTPlotSpace *) | - plotSpaceWithIdentifier: |
Gets the plot space with the given identifier from the plot space array. More... | |
Adding and Removing Plot Spaces | |
(void) | - addPlotSpace: |
Add a plot space to the graph. More... | |
(void) | - removePlotSpace: |
Remove a plot space from the graph. More... | |
Themes | |
(void) | - applyTheme: |
Apply a theme to style the graph. More... | |
Initialization | |
(nonnull instancetype) | - initWithFrame: [implementation] |
Initializes a newly allocated CPTGraph 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... | |
(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... | |
(BOOL) | - scrollWheelEvent:fromPoint:toPoint: [implementation] |
(Required) Informs the receiver that the user has moved the scroll wheel. More... | |
Factory Methods | |
(nullable CPTPlotSpace *) | - newPlotSpace |
Creates a new plot space for the graph. More... | |
(nullable CPTAxisSet *) | - newAxisSet |
Creates a new axis set for the graph. More... | |
Public Instance Methods inherited from CPTBorderedLayer | |
(void) | - renderBorderedLayerAsVectorInContext: |
Draws the fill and border of a CPTBorderedLayer into the given graphics context. More... | |
(void) | - sublayerMarginLeft:top:right:bottom: [implementation] |
Increases the sublayer margin on all four sides by half the width of the border line style. 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... | |
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) | - 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: |
User Interaction |
Properties | |
Hosting View | |
CPTGraphHostingView * | hostingView |
The hosting view that contains the graph. More... | |
Title | |
NSString * | title |
The title string. More... | |
NSAttributedString * | attributedTitle |
The styled title string. More... | |
CPTTextStyle * | titleTextStyle |
The text style of the title. More... | |
CGPoint | titleDisplacement |
A vector giving the displacement of the title from the edge location. More... | |
CPTRectAnchor | titlePlotAreaFrameAnchor |
The location of the title with respect to the plot area frame. Default is CPTRectAnchorTop. More... | |
Layers | |
CPTAxisSet * | axisSet |
The axis set. More... | |
CPTPlotAreaFrame * | plotAreaFrame |
The plot area frame. More... | |
CPTPlotSpace * | defaultPlotSpace |
The default plot space. More... | |
CPTNumberArray * | topDownLayerOrder |
An array of graph layers to be drawn in an order other than the default. More... | |
Legend | |
CPTLegend * | legend |
The graph legend. Setting this property will automatically anchor the legend to the graph and position it using the legendAnchor and legendDisplacement properties. This is a convenience property only—the legend may be inserted in the layer tree and positioned like any other CPTLayer if more flexibility is needed. More... | |
CPTRectAnchor | legendAnchor |
The location of the legend with respect to the graph frame. Default is CPTRectAnchorBottom. More... | |
CGPoint | legendDisplacement |
A vector giving the displacement of the legend from the edge location. More... | |
Properties inherited from CPTBorderedLayer | |
CPTLineStyle * | borderLineStyle |
The line style for the layer border. More... | |
CPTFill * | fill |
The fill for the layer background. More... | |
BOOL | inLayout |
Set to YES when changing the layout of this layer. Otherwise, if masking the border, all layout property changes will be passed to the superlayer. 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 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: |
An abstract graph class.
The graph is the top-level view container for a Core Plot graph. It should be hosted inside a CPTGraphHostingView.
A graph contains a single plot area frame (CPTPlotAreaFrame), which is the container for all of the graph elements. Use the padding properties on the graph to position the plot area frame inside the graph. All graph elements, except for titles, legends, and other annotations attached directly to the graph itself are clipped to the plot area frame.
The plot area (CPTPlotArea) sits inside the plot area frame. Use the padding properties on the plot area frame to position the plot area inside the plot area frame. All plots are drawn inside this area while axes, titles, and borders may fall outside. Use a plot space (CPTPlotSpace) to control the mapping between data values and plotting coordinates in the plot area. One plot space is automatically provided with a new graph; more may be added as needed.
- (void) addPlot: | (nonnull CPTPlot *) | plot |
Add a plot to the default plot space.
plot | The plot. |
- (void) addPlot: | (nonnull CPTPlot *) | plot | |
toPlotSpace: | (nullable CPTPlotSpace *) | space | |
Add a plot to the given plot space.
plot | The plot. |
space | The plot space. |
- (void) addPlotSpace: | (nonnull CPTPlotSpace *) | space |
Add a plot space to the graph.
space | The plot space. |
- (nonnull CPTPlotArray *) allPlots |
All plots associated with the graph.
- (nonnull CPTPlotSpaceArray *) allPlotSpaces |
All plot spaces associated with the graph.
- (void) applyTheme: | (nullable CPTTheme *) | theme |
Apply a theme to style the graph.
theme | The theme object used to style the graph. |
|
implementation |
Initializes a newly allocated CPTGraph object with the provided frame rectangle.
This is the designated initializer. The initialized layer will have the following properties:
0.0
, 0.0
)0.0
, 0.0
)20.0
20.0
20.0
20.0
The new graph will have a plotAreaFrame with a frame equal to the graph’s bounds, a defaultPlotSpace created with the -newPlotSpace method, and an axisSet created with the -newAxisSet method.
newFrame | The frame rectangle. |
Reimplemented from CPTBorderedLayer.
Reimplemented in CPTXYGraph.
- (void) insertPlot: | (nonnull CPTPlot *) | plot | |
atIndex: | (NSUInteger) | idx | |
Add a plot to the default plot space at the given index in the plot array.
plot | The plot. |
idx | An index within the bounds of the plot array. |
- (void) insertPlot: | (nonnull CPTPlot *) | plot | |
atIndex: | (NSUInteger) | idx | |
intoPlotSpace: | (nullable CPTPlotSpace *) | space | |
Add a plot to the given plot space at the given index in the plot array.
plot | The plot. |
idx | An index within the bounds of the plot array. |
space | The plot space. |
- (nullable CPTAxisSet *) newAxisSet |
Creates a new axis set for the graph.
Provided by category CPTGraph(AbstractFactoryMethods).
- (nullable CPTPlotSpace *) newPlotSpace |
Creates a new plot space for the graph.
Provided by category CPTGraph(AbstractFactoryMethods).
- (nullable CPTPlot *) plotAtIndex: | (NSUInteger) | idx |
Gets the plot at the given index in the plot array.
idx | An index within the bounds of the plot array. |
- (nullable CPTPlotSpace *) plotSpaceAtIndex: | (NSUInteger) | idx |
Gets the plot space at the given index in the plot space array.
idx | An index within the bounds of the plot space array. |
- (nullable CPTPlotSpace *) plotSpaceWithIdentifier: | (nullable id<NSCopying>) | identifier |
Gets the plot space with the given identifier from the plot space array.
identifier | A plot space identifier. |
Gets the plot with the given identifier from the plot array.
identifier | A plot identifier. |
|
implementation |
Informs the receiver that tracking of mouse moves has been cancelled for any reason.
The event is passed in turn to the following layers:
If any layer handles the event, subsequent layers are not notified and this method immediately returns YES. If none of the layers handle the event, it is passed to all plot spaces whether they handle it or not.
event | The OS event. |
Reimplemented from CPTAnnotationHostLayer.
|
implementation |
Informs the receiver that the user has pressed the mouse button.
The event is passed in turn to the following layers:
If any layer handles the event, subsequent layers are not notified and this method immediately returns YES. If none of the layers handle the event, it is passed to all plot spaces whether they handle it or not.
event | The OS event. |
interactionPoint | The coordinates of the interaction. |
Reimplemented from CPTAnnotationHostLayer.
|
implementation |
Informs the receiver that the user has moved the mouse with the button pressed.
The event is passed in turn to the following layers:
If any layer handles the event, subsequent layers are not notified and this method immediately returns YES. If none of the layers handle the event, it is passed to all plot spaces whether they handle it or not.
event | The OS event. |
interactionPoint | The coordinates of the interaction. |
Reimplemented from CPTAnnotationHostLayer.
|
implementation |
Informs the receiver that the user has released the mouse button.
The event is passed in turn to the following layers:
If any layer handles the event, subsequent layers are not notified and this method immediately returns YES. If none of the layers handle the event, it is passed to all plot spaces whether they handle it or not.
event | The OS event. |
interactionPoint | The coordinates of the interaction. |
Reimplemented from CPTAnnotationHostLayer.
- (void) reloadData |
Makes all plots reload their data.
- (void) reloadDataIfNeeded |
Makes all plots reload their data if their data cache is out of date.
- (void) removePlot: | (nullable CPTPlot *) | plot |
Remove a plot from the graph.
plot | The plot to remove. |
- (void) removePlotSpace: | (nullable CPTPlotSpace *) | plotSpace |
Remove a plot space from the graph.
plotSpace | The plot space. |
Remove a plot from the graph.
identifier | The identifier of the plot to remove. |
|
implementation |
(Required) Informs the receiver that the user has moved the scroll wheel.
The event is passed in turn to the following layers:
If any layer handles the event, subsequent layers are not notified and this method immediately returns YES. If none of the layers handle the event, it is passed to all plot spaces whether they handle it or not.
event | The OS event. |
fromPoint | The starting coordinates of the interaction. |
toPoint | The ending coordinates of the interaction. |
Reimplemented from <CPTResponder>.
|
readwritenonatomiccopy |
The styled title string.
Assigning a new value to this property also sets the value of the title property to the same string without formatting information. It also replaces the titleTextStyle with a style matching the first position (location 0
) of the styled title. Default is nil.
|
readwritenonatomicstrong |
The axis set.
|
readnonatomicassign |
The default plot space.
|
readwritenonatomicweak |
The hosting view that contains the graph.
|
readwritenonatomicstrong |
The graph legend. Setting this property will automatically anchor the legend to the graph and position it using the legendAnchor and legendDisplacement properties. This is a convenience property only—the legend may be inserted in the layer tree and positioned like any other CPTLayer if more flexibility is needed.
|
readwritenonatomicassign |
The location of the legend with respect to the graph frame. Default is CPTRectAnchorBottom.
|
readwritenonatomicstrong |
The plot area frame.
|
readwritenonatomiccopy |
The title string.
Assigning a new value to this property also sets the value of the attributedTitle property to nil.
|
readwritenonatomicassign |
The location of the title with respect to the plot area frame. Default is CPTRectAnchorTop.
|
readwritenonatomiccopy |
The text style of the title.
Assigning a new value to this property also sets the value of the attributedTitle property to nil.
|
readwritenonatomicstrong |
An array of graph layers to be drawn in an order other than the default.