Class GraphView
Control for rendering graphs (bar, scatter etc)
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize
Inherited Members
Namespace: Terminal.Gui
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
public GraphView()
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
Type | Description |
---|---|
HorizontalAxis |
AxisY
Vertical axis
Declaration
public VerticalAxis AxisY { get; set; }
Property Value
Type | Description |
---|---|
VerticalAxis |
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
Type | Description |
---|---|
PointF |
GraphColor
The color of the background of the graph and axis/labels
Declaration
public Nullable<Attribute> GraphColor { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<Attribute> |
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 |
ScrollOffset
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
Type | Description |
---|---|
PointF |
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
public void PageDown()
PageUp()
Scrolls the graph up 1 page
Declaration
public void PageUp()
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
public void Reset()
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
Type | Description |
---|---|
RectangleF |
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
Type | Description |
---|---|
RectangleF |
Scroll(Single, Single)
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