Class GraphView
Control for rendering graphs (bar, scatter etc)
Inheritance
System.Object
GraphView
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize
Assembly: Terminal.Gui.dll
Syntax
public class GraphView : View
Constructors
GraphView()
Creates a new graph with a 1 to 1 graph space with absolute layout
Declaration
Properties
Annotations
Elements drawn into graph after series have been drawn e.g. Legends etc
Declaration
public List<IAnnotation> Annotations { get; }
Property Value
Type |
Description |
System.Collections.Generic.List<IAnnotation> |
|
AxisX
Horizontal axis
Declaration
public HorizontalAxis AxisX { get; set; }
Property Value
AxisY
Vertical axis
Declaration
public VerticalAxis AxisY { get; set; }
Property Value
CellSize
Translates console width/height into graph space. Defaults
to 1 row/col of console space being 1 unit of graph space.
Declaration
public PointF CellSize { get; set; }
Property Value
GraphColor
The color of the background of the graph and axis/labels
Declaration
public Nullable<Attribute> GraphColor { get; set; }
Property Value
MarginBottom
Amount of space to leave on bottom of control. Graph content (
Series)
will not be rendered in margins but axis labels may be
Declaration
public uint MarginBottom { get; set; }
Property Value
Type |
Description |
System.UInt32 |
|
MarginLeft
Amount of space to leave on left of control. Graph content (
Series)
will not be rendered in margins but axis labels may be
Declaration
public uint MarginLeft { get; set; }
Property Value
Type |
Description |
System.UInt32 |
|
The graph space position of the bottom left of the control.
Changing this scrolls the viewport around in the graph
Declaration
public PointF ScrollOffset { get; set; }
Property Value
Series
Collection of data series that are rendered in the graph
Declaration
public List<ISeries> Series { get; }
Property Value
Type |
Description |
System.Collections.Generic.List<ISeries> |
|
Methods
DrawLine(Point, Point, Rune)
Draws a line between two points in screen space. Can be diagonals.
Declaration
public void DrawLine(Point start, Point end, Rune symbol)
Parameters
Type |
Name |
Description |
Point |
start |
|
Point |
end |
|
System.Rune |
symbol |
The symbol to use for the line |
GraphSpaceToScreen(PointF)
Calculates the screen location for a given point in graph space.
Bear in mind these be off screen
Declaration
public Point GraphSpaceToScreen(PointF location)
Parameters
Type |
Name |
Description |
PointF |
location |
Point in graph space that may or may not be represented in the
visible area of graph currently presented. E.g. 0,0 for origin |
Returns
Type |
Description |
Point |
Screen position (Column/Row) which would be used to render the graph location .
Note that this can be outside the current client area of the control |
PageDown()
Scrolls the graph down 1 page
Declaration
PageUp()
Scrolls the graph up 1 page
Declaration
ProcessKey(KeyEvent)
If the view is focused, gives the view a
chance to process the keystroke.
Declaration
public override bool ProcessKey(KeyEvent keyEvent)
Parameters
Type |
Name |
Description |
KeyEvent |
keyEvent |
Contains the details about the key that produced the event. |
Returns
Type |
Description |
System.Boolean |
|
Overrides
Redraw(Rect)
Redraws this view and its subviews; only redraws the views that have been flagged for a re-display.
Declaration
public override void Redraw(Rect bounds)
Parameters
Type |
Name |
Description |
Rect |
bounds |
The bounds (view-relative region) to redraw. |
Overrides
Reset()
Clears all settings configured on the graph and resets all properties
to default values (
CellSize,
ScrollOffset etc)
Declaration
ScreenToGraphSpace(Int32, Int32)
Returns the section of the graph that is represented by the given
screen position
Declaration
public RectangleF ScreenToGraphSpace(int col, int row)
Parameters
Type |
Name |
Description |
System.Int32 |
col |
|
System.Int32 |
row |
|
Returns
ScreenToGraphSpace(Rect)
Returns the section of the graph that is represented by the screen area
Declaration
public RectangleF ScreenToGraphSpace(Rect screenArea)
Parameters
Type |
Name |
Description |
Rect |
screenArea |
|
Returns
Scrolls the view by a given number of units in graph space.
See
CellSize to translate this into rows/cols
Declaration
public void Scroll(float offsetX, float offsetY)
Parameters
Type |
Name |
Description |
System.Single |
offsetX |
|
System.Single |
offsetY |
|
SetDriverColorToGraphColor()
Declaration
public void SetDriverColorToGraphColor()
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize