Plasma.SignalPlotter

KDE 4.7 PyKDE API Reference

- KDE's Python API

# SignalPlotter Class Reference

`from PyKDE4.plasma import *`

Inherits: QGraphicsWidget → QObject
Namespace: Plasma

## Detailed Description

SignalPlotter plasma/widgets/signalplotter.h <Plasma/Widgets/SignalPlotter>

Provides a signal plotter for plasma.

## Methods
| __init__ (self, QGraphicsItem parent=0)
| addPlot (self, QColor color)
| addSample (self, [float] samples)
QColor | backgroundColor (self)
| calculateNiceRange (self)
| drawAxisText (self, QPainter p, int top, int h)
| drawBackground (self, QPainter p, int w, int h)
| drawHorizontalLines (self, QPainter p, int top, int w, int h)
| drawPlots (self, QPainter p, int top, int w, int h, int horizontalScale)
| drawThinFrame (self, QPainter p, int w, int h)
| drawTopBarContents (self, QPainter p, int x, int width, int height)
| drawTopBarFrame (self, QPainter p, int separatorX, int height)
| drawVerticalLines (self, QPainter p, int top, int w, int h)
| drawWidget (self, QPainter p, long w, long height, int horizontalScale)
QFont | font (self)
QColor | fontColor (self)
QPixmap | getSnapshotImage (self, long width, long height)
QColor | horizontalLinesColor (self)
long | horizontalLinesCount (self)
long | horizontalScale (self)
float | lastValue (self, long i)
QString | lastValueAsString (self, long i)
| paint (self, QPainter painter, QStyleOptionGraphicsItem option, QWidget widget)
[Plasma.PlotColor] | plotColors (self)
| removePlot (self, long pos)
| reorderPlots (self, [long] newOrder)
| scale (self, float delta)
float | scaledBy (self)
| setBackgroundColor (self, QColor color)
| setFont (self, QFont font)
| setFontColor (self, QColor color)
| setGeometry (self, QRectF geometry)
| setHorizontalLinesColor (self, QColor color)
| setHorizontalLinesCount (self, long count)
| setHorizontalScale (self, long scale)
| setShowHorizontalLines (self, bool value)
| setShowLabels (self, bool value)
| setShowTopBar (self, bool value)
| setShowVerticalLines (self, bool value)
| setStackPlots (self, bool stack)
| setSvgBackground (self, QString filename)
| setThinFrame (self, bool set)
| setTitle (self, QString title)
| setUnit (self, QString unit)
| setUseAutoRange (self, bool value)
| setVerticalLinesColor (self, QColor color)
| setVerticalLinesDistance (self, long distance)
| setVerticalLinesScroll (self, bool value)
| setVerticalRange (self, float min, float max)
bool | showHorizontalLines (self)
bool | showLabels (self)
bool | showTopBar (self)
bool | showVerticalLines (self)
bool | stackPlots (self)
QString | svgBackground (self)
bool | thinFrame (self)
QString | title (self)
QString | unit (self)
| updateDataBuffers (self)
bool | useAutoRange (self)
QColor | verticalLinesColor (self)
long | verticalLinesDistance (self)
bool | verticalLinesScroll (self)
float | verticalMaxValue (self)
float | verticalMinValue (self)

## Method Documentation

__init__ | ( | self, |
|  | QGraphicsItem | parent=0
| ) |  |  |

addPlot | ( | self, |
|  | QColor | color
| ) |  |  |

Add a new line to the graph plotter, with the specified color. Note that the order you add the plots must be the same order that the same data is given in (unless you reorder the plots).

Parameters:

  | color | the color to use for this plot

addSample | ( | self, |
|  | [float] | samples
| ) |  |  |

Add data to the graph, and advance the graph by one time period. The data must be given as a list in the same order that the plots were added (or consequently reordered).

Parameters:

  | samples | a list with the new value for each plot

QColor backgroundColor | ( |  | self ) |

The color to set the background. This might not be seen if an svg is also set.

Returns:
  the color of the plotter background

calculateNiceRange | ( |  | self ) |

drawAxisText | ( | self, |
|  | QPainter | p,
|  | int | top,
|  | int | h
| ) |  |  |

drawBackground | ( | self, |
|  | QPainter | p,
|  | int | w,
|  | int | h
| ) |  |  |

drawHorizontalLines | ( | self, |
|  | QPainter | p,
|  | int | top,
|  | int | w,
|  | int | h
| ) |  |  |

drawPlots | ( | self, |
|  | QPainter | p,
|  | int | top,
|  | int | w,
|  | int | h,
|  | int | horizontalScale
| ) |  |  |

drawThinFrame | ( | self, |
|  | QPainter | p,
|  | int | w,
|  | int | h
| ) |  |  |

drawTopBarContents | ( | self, |
|  | QPainter | p,
|  | int | x,
|  | int | width,
|  | int | height
| ) |  |  |

drawTopBarFrame | ( | self, |
|  | QPainter | p,
|  | int | separatorX,
|  | int | height
| ) |  |  |

drawVerticalLines | ( | self, |
|  | QPainter | p,
|  | int | top,
|  | int | w,
|  | int | h
| ) |  |  |

drawWidget | ( | self, |
|  | QPainter | p,
|  | long | w,
|  | long | height,
|  | int | horizontalScale
| ) |  |  |

QFont font | ( |  | self ) |

The font used for the axis

Returns:
  the font used to draw the text of the vertical values

QColor fontColor | ( |  | self ) |

The color of the font used for the axis

Returns:
  the color used to draw the text of the vertical values

QPixmap getSnapshotImage | ( | self, |
|  | long | width,
|  | long | height
| ) |  |  |

Render the graph to the specified width and height, and return it as an image. This is useful, for example, if you draw a small version of the graph, but then want to show a large version in a tooltip etc

Parameters:

  | width | the width of the snapshot
  | height | the height of the snapshot

Returns:
  a snapshot of the plotter as an image

QColor horizontalLinesColor | ( |  | self ) |

The color of the horizontal grid lines

Returns:
  the color used to draw the horizontal grid lines

long horizontalLinesCount | ( |  | self ) |

The number of horizontal lines to draw. Doesn't include the top most and bottom most lines.

Returns:
  the number of horizontal lines that will be drawn

long horizontalScale | ( |  | self ) |

The number of pixels horizontally between data points

Returns:
  the number of pixel drawn between two data points

float lastValue | ( | self, |
|  | long | i
| ) |  |  |

Return the last value that we have for plot i. Returns 0 if not known.

Parameters:

  | i | the plot we like to have the last value from

Returns:
  the last value of this plot or 0 if not found

QString lastValueAsString | ( | self, |
|  | long | i
| ) |  |  |

Return a translated string like: "34 %" or "100 KB" for plot i

Parameters:

  | i | the plot we like to have the value as string from

Returns:
  the last value of this plot as a string

paint | ( | self, |
|  | QPainter | painter,
|  | QStyleOptionGraphicsItem | option,
|  | QWidget | widget
| ) |  |  |

[Plasma.PlotColor] plotColors | ( |  | self ) |

Return the list of plot colors, in the order that the plots were added (or later reordered).

Returns:
  a list containing the color of every plot

removePlot | ( | self, |
|  | long | pos
| ) |  |  |

Removes the plot at the specified index.

Parameters:

  | pos | the index of the plot to be removed

reorderPlots | ( | self, |
|  | [long] | newOrder
| ) |  |  |

Reorder the plots into the order given. For example:

      Plasma.SignalPlotter *s = new Plasma.SignalPlotter(parent);
      s->addPlot(Qt.Blue);
      s->addPlot(Qt.Green);
      QList neworder;
      neworder << 1 << 0;
      s->reorderPlots(newOrder);
      //Now the order is Green then Blue

Parameters:

  | newOrder | a list with the new position of each plot

scale | ( | self, |
|  | float | delta
| ) |  |  |

Scale all the values down by the given amount. This is useful when the data is given in, say, kilobytes, but you set the units as megabytes. Thus you would have to call this with value set to 1024. This affects all the data already entered.

Parameters:

  | delta | the factor used to scale down the values

float scaledBy | ( |  | self ) |

Amount scaled down by.

See also:
  scale

Returns:
  the factor used to scale down the values

setBackgroundColor | ( | self, |
|  | QColor | color
| ) |  |  |

The color to set the background. This might not be seen if an svg is also set.

Parameters:

  | color | the color to use for the plotter background

setFont | ( | self, |
|  | QFont | font
| ) |  |  |

The font used for the axis

Parameters:

  | font | the font used to draw the text of the vertical values

setFontColor | ( | self, |
|  | QColor | color
| ) |  |  |

The color of the font used for the axis

Parameters:

  | color | the color used to draw the text of the vertical values

setGeometry | ( | self, |
|  | QRectF | geometry
| ) |  |  |

Overwritten to be notified of size changes. Needed to update the data buffers that are used to store the samples.

setHorizontalLinesColor | ( | self, |
|  | QColor | color
| ) |  |  |

The color of the horizontal grid lines

Parameters:

  | color | the color used to draw the horizontal grid lines

setHorizontalLinesCount | ( | self, |
|  | long | count
| ) |  |  |

The number of horizontal lines to draw. Doesn't include the top most and bottom most lines.

Parameters:

  | count | the number of horizontal lines to draw

setHorizontalScale | ( | self, |
|  | long | scale
| ) |  |  |

Set the number of pixels horizontally between data points

Parameters:

  | scale | the number of pixel to draw between two data points

setShowHorizontalLines | ( | self, |
|  | bool | value
| ) |  |  |

Whether to draw the horizontal grid lines

Parameters:

  | value | true if the lines should be drawn, otherwise false

setShowLabels | ( | self, |
|  | bool | value
| ) |  |  |

Whether to show the vertical axis labels

Parameters:

  | value | true if the values for the vertical axis should get drawn

setShowTopBar | ( | self, |
|  | bool | value
| ) |  |  |

Whether to show the title etc at the top. Even if set, it won't be shown if there isn't room

Parameters:

  | value | true if the topbar should be shown

setShowVerticalLines | ( | self, |
|  | bool | value
| ) |  |  |

Whether to draw the vertical grid lines

Parameters:

  | value | true if the lines should be drawn, otherwise false

setStackPlots | ( | self, |
|  | bool | stack
| ) |  |  |

Whether to stack the plots on top of each other. The first plot added will be at the bottom. The next plot will be drawn on top, and so on.

Parameters:

  | stack | true if the plots should be stacked

setSvgBackground | ( | self, |
|  | QString | filename
| ) |  |  |

The filename of the svg background. Set to empty to disable again.

Parameters:

  | filename | the SVG file to use as a background image

setThinFrame | ( | self, |
|  | bool | set
| ) |  |  |

Whether to show a white line on the left and bottom of the widget, for a 3D effect

Parameters:

  | set | true if the frame should get drawn

setTitle | ( | self, |
|  | QString | title
| ) |  |  |

Set the title of the graph. Drawn in the top left.

Parameters:

  | title | the title to use in the plotter

setUnit | ( | self, |
|  | QString | unit
| ) |  |  |

Set the units. Drawn on the vertical axis of the graph. Must be already translated into the local language.

Parameters:

  | unit | the unit string to use

setUseAutoRange | ( | self, |
|  | bool | value
| ) |  |  |

Set the minimum and maximum values on the vertical axis automatically from the data available.

Parameters:

  | value | true if the plotter should calculate its own min and max values, otherwise false

setVerticalLinesColor | ( | self, |
|  | QColor | color
| ) |  |  |

The color of the vertical grid lines

Parameters:

  | color | the color used to draw the vertical grid lines

setVerticalLinesDistance | ( | self, |
|  | long | distance
| ) |  |  |

The horizontal distance between the vertical grid lines

Parameters:

  | distance | the distance between two vertical grid lines

setVerticalLinesScroll | ( | self, |
|  | bool | value
| ) |  |  |

Whether the vertical lines move with the data

Parameters:

  | value | true if the vertical lines should move with the data

setVerticalRange | ( | self, |
|  | float | min,
|  | float | max
| ) |  |  |

Change the minimum and maximum values drawn on the graph. Note that these values are sanitised. For example, if you set the minimum as 3, and the maximum as 97, then the graph would be drawn between 0 and 100. The algorithm to determine this "nice range" attempts to minimize the number of non-zero digits.

Use setAutoRange instead to determine the range automatically from the data.

Parameters:

  | min | the minimum value to use for the vertical axis
  | max | the maximum value to use for the vertical axis

bool showHorizontalLines | ( |  | self ) |

Whether to draw the horizontal grid lines

Returns:
  true if the lines will be drawn, otherwise false

bool showLabels | ( |  | self ) |

Whether to show the vertical axis labels

Returns:
  true if the values for the vertical axis will get drawn

bool showTopBar | ( |  | self ) |

Whether to show the title etc at the top. Even if set, it won't be shown if there isn't room

Returns:
  true if the topbar will be shown

bool showVerticalLines | ( |  | self ) |

Whether the vertical grid lines will be drawn

Returns:
  true if the lines will be drawn, otherwise false

bool stackPlots | ( |  | self ) |

Whether to stack the plots.

See also:
  setStackPlots

Returns:
  true if the plots will be stacked

QString svgBackground | ( |  | self ) |

The filename of the svg background. Set to empty to disable again.

Returns:
  the file used as a background image

bool thinFrame | ( |  | self ) |

show a white line on the left and bottom of the widget for a 3D effect

Returns:
  true if frame show be draw

Since:
  4.3

QString title | ( |  | self ) |

Get the title of the graph. Drawn in the top left.

Returns:
  the title to use in the plotter

QString unit | ( |  | self ) |

Return the units used on the vertical axis of the graph.

Returns:
  the unit string used

updateDataBuffers | ( |  | self ) |

bool useAutoRange | ( |  | self ) |

Whether the vertical axis range is set automatically.

Returns:
  true if the plotter calculates its own min and max values, otherwise false

QColor verticalLinesColor | ( |  | self ) |

The color of the vertical grid lines

Returns:
  the color used to draw the vertical grid lines

long verticalLinesDistance | ( |  | self ) |

The horizontal distance between the vertical grid lines

Returns:
  the distance between two vertical grid lines

bool verticalLinesScroll | ( |  | self ) |

Whether the vertical lines move with the data

Returns:
  true if the vertical lines will move with the data

float verticalMaxValue | ( |  | self ) |

Get the max value of the vertical axis.

See also:
  changeRange

Returns:
  the maximum value to use for the vertical axis

float verticalMinValue | ( |  | self ) |

Get the min value of the vertical axis.

See also:
  changeRange

Returns:
  the minimum value to use for the vertical axis