Chart-1.9.4: A library for generating 2D Charts and Plots

Copyright | (c) Hitesh Jasani 2008 Malcolm Wallace 2011 Tim Docker 2014
License | BSD3
Safe Haskell | Safe-Inferred
Language | Haskell98

Graphics.Rendering.Chart.SparkLine

Contents

- SparkLine type
- Drawing options
- Size calculation
- Rendering function

Description

Sparklines are mini graphs inspired by Edward Tufte; see http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001OR and http://en.wikipedia.org/wiki/Sparkline for more information.

The original implementation (by Hitesh Jasani) used the gd package as a backend renderer, and is still available at http://hackage.haskell.org/package/hsparklines.

The present version integrates with the Chart package, in the sense that Sparklines are just another kind of (`ToRenderable a => a`), so they can be composed into grids and used with the rest of Chart.

    dp :: [Double]
    dp = [24,21,32.3,24,15,34,43,55,57,72,74,75,73,72,55,44]

    sl = SparkLine barSpark dp
    fopts = FileOptions (sparkSize sl) PNG
    renderableToFile fopts (sparkLineToRenderable sl) "bar_spark.png"

Synopsis

- data SparkLine = SparkLine {
  - sl_options :: SparkOptions
  - sl_data :: [Double]
  }
- data SparkOptions = SparkOptions {
  - so_smooth :: Bool
  - so_step :: Int
  - so_height :: Int
  - so_limits :: (Double, Double)
  - so_bgColor :: Colour Double
  - so_minColor :: Colour Double
  - so_maxColor :: Colour Double
  - so_lastColor :: Colour Double
  - so_minMarker :: Bool
  - so_maxMarker :: Bool
  - so_lastMarker :: Bool
  }
- smoothSpark :: SparkOptions
- barSpark :: SparkOptions
- sparkSize :: SparkLine -> (Int, Int)
- renderSparkLine :: SparkLine -> BackendProgram (PickFn ())
- sparkLineToRenderable :: SparkLine -> Renderable ()
- sparkWidth :: SparkLine -> Int

# SparkLine type

data SparkLine Source #

A sparkline is a single sequence of data values, treated as y-values. The x-values are anonymous and implicit in the sequence.

Constructors

SparkLine |

Fields

- sl_options :: SparkOptions
- sl_data :: [Double]

#### Instances

Instances details

ToRenderable SparkLine Source # |
Instance details Defined in Graphics.Rendering.Chart.SparkLine Methods toRenderable :: SparkLine -> Renderable () Source #

# Drawing options

data SparkOptions Source #

Options to render the sparklines in different ways.

Constructors

SparkOptions |

Fields

- so_smooth :: Bool

  smooth or bars

- so_step :: Int

  step size

- so_height :: Int

  graph height (pixels)

- so_limits :: (Double, Double)

  data point limits

- so_bgColor :: Colour Double

  background color

- so_minColor :: Colour Double

  color of minimum datapoint

- so_maxColor :: Colour Double

  color of maximum datapoint

- so_lastColor :: Colour Double

  color of last datapoint

- so_minMarker :: Bool

  display minimum marker

- so_maxMarker :: Bool

  display maximum marker

- so_lastMarker :: Bool

  display last marker

#### Instances

Instances details

Show SparkOptions Source # |
Instance details Defined in Graphics.Rendering.Chart.SparkLine Methods showsPrec :: Int -> SparkOptions -> ShowS Source # show :: SparkOptions -> String Source # showList :: [SparkOptions] -> ShowS Source #

smoothSpark :: SparkOptions Source #

Default options for a smooth sparkline.

barSpark :: SparkOptions Source #

Default options for a barchart sparkline.

# Size calculation

sparkSize :: SparkLine -> (Int, Int) Source #

Return the width and height of the SparkLine.

# Rendering function

renderSparkLine :: SparkLine -> BackendProgram (PickFn ()) Source #

Render a SparkLine to a drawing surface.

sparkLineToRenderable :: SparkLine -> Renderable () Source #

Create a renderable from a SparkLine.

sparkWidth :: SparkLine -> Int Source #

Compute the width of a SparkLine, for rendering purposes.