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

Copyright | (c) Tim Docker 2010, 2014
License | BSD-style (see chart/COPYRIGHT)
Safe Haskell | None
Language | Haskell98

Graphics.Rendering.Chart.Axis.Floating

Description

Calculate and render floating value axes including doubles with linear, log, and percentage scaling.

Synopsis

- newtype Percent = Percent {
  - unPercent :: Double
  }
- data LinearAxisParams a = LinearAxisParams {
  - _la_labelf :: a -> String
  - _la_nLabels :: Int
  - _la_nTicks :: Int
  }
- newtype LogValue = LogValue Double
- data LogAxisParams a = LogAxisParams {
  - _loga_labelf :: a -> String
  }
- scaledAxis :: RealFloat a => LinearAxisParams a -> (a, a) -> AxisFn a
- autoScaledAxis :: RealFloat a => LinearAxisParams a -> AxisFn a
- autoScaledLogAxis :: RealFloat a => LogAxisParams a -> AxisFn a
- autoSteps :: Int -> [Double] -> [Double]
- la_labelf :: forall a a. Lens (LinearAxisParams a) (LinearAxisParams a) (a -> String) (a -> String)
- la_nLabels :: forall a. Lens' (LinearAxisParams a) Int
- la_nTicks :: forall a. Lens' (LinearAxisParams a) Int
- loga_labelf :: forall a a. Iso (LogAxisParams a) (LogAxisParams a) (a -> String) (a -> String)

# Documentation

newtype Percent Source

A wrapper class for doubles used to indicate they are to be plotted against a percentage axis.

Constructors

Percent |

Fields

unPercent :: Double

Instances

Eq Percent Source |
Floating Percent Source |
Fractional Percent Source |
Num Percent Source |
Ord Percent Source |
Real Percent Source |
RealFloat Percent Source |
RealFrac Percent Source |
Show Percent Source |
PlotValue Percent Source |

data LinearAxisParams a Source

Constructors

LinearAxisParams |

Fields

_la_labelf :: a -> String

  The function used to show the axes labels.

_la_nLabels :: Int

  The target number of labels to be shown.

_la_nTicks :: Int

  The target number of ticks to be shown.

Instances

(Show a, RealFloat a) => Default (LinearAxisParams a) Source |

newtype LogValue Source

A wrapper class for doubles used to indicate they are to be plotted against a log axis.

Constructors

LogValue Double |

Instances

Eq LogValue Source |
Floating LogValue Source |
Fractional LogValue Source |
Num LogValue Source |
Ord LogValue Source |
Real LogValue Source |
RealFloat LogValue Source |
RealFrac LogValue Source |
Show LogValue Source |
PlotValue LogValue Source |

data LogAxisParams a Source

Constructors

LogAxisParams |

Fields

_loga_labelf :: a -> String

  The function used to show the axes labels.

Instances

(Show a, RealFloat a) => Default (LogAxisParams a) Source |

scaledAxis :: RealFloat a => LinearAxisParams a -> (a, a) -> AxisFn a Source

Generate a linear axis with the specified bounds

autoScaledAxis :: RealFloat a => LinearAxisParams a -> AxisFn a Source

Generate a linear axis automatically, scaled appropriately for the input data.

autoScaledLogAxis :: RealFloat a => LogAxisParams a -> AxisFn a Source

Generate a log axis automatically, scaled appropriate for the input data.

autoSteps :: Int -> [Double] -> [Double] Source

Given a target number of values, and a list of input points, find evenly spaced values from the set {1*X, 2*X, 2.5*X, 5*X} (where X is some power of ten) that evenly cover the input points.

la_labelf :: forall a a. Lens (LinearAxisParams a) (LinearAxisParams a) (a -> String) (a -> String) Source

la_nLabels :: forall a. Lens' (LinearAxisParams a) Int Source

la_nTicks :: forall a. Lens' (LinearAxisParams a) Int Source

loga_labelf :: forall a a. Iso (LogAxisParams a) (LogAxisParams a) (a -> String) (a -> String) Source