This is a graph widget inspired by the widget of the same name in
Awesome (the window manager). It plots a series of data points
similarly to a bar graph. This version must be explicitly fed data
with graphAddSample
. For a more automated version, see
PollingGraph
.
Like Awesome, this graph can plot multiple data sets in one widget. The data sets are plotted in the order provided by the caller.
Note: all of the data fed to this widget should be in the range [0,1].
- data GraphHandle
- data GraphConfig = GraphConfig {
- graphPadding :: Int
- graphBackgroundColor :: (Double, Double, Double)
- graphBorderColor :: (Double, Double, Double)
- graphDataColors :: [(Double, Double, Double, Double)]
- graphHistorySize :: Int
- graphLabel :: Maybe String
- graphWidth :: Int
- graphNew :: GraphConfig -> IO (Widget, GraphHandle)
- graphAddSample :: GraphHandle -> [Double] -> IO ()
- defaultGraphConfig :: GraphConfig
Types
data GraphHandle
data GraphConfig
The configuration options for the graph. The padding is the number of pixels reserved as blank space around the widget in each direction.
GraphConfig | |
|
Functions
graphNew :: GraphConfig -> IO (Widget, GraphHandle)
graphAddSample :: GraphHandle -> [Double] -> IO ()
Add a data point to the graph for each of the tracked data sets. There should be as many values in the list as there are data sets.