Chart 1.8.2 → 1.8.3
raw patch · 11 files changed
+388/−40 lines, 11 filesdep ~basedep ~lensPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, lens
API changes (from Hackage documentation)
- Graphics.Rendering.Chart.Axis.LocalTime: instance Graphics.Rendering.Chart.Axis.Types.PlotValue Data.Time.LocalTime.LocalTime.LocalTime
+ Graphics.Rendering.Chart.Axis.Time: BetweenTicks :: TimeLabelAlignment
+ Graphics.Rendering.Chart.Axis.Time: UnderTicks :: TimeLabelAlignment
+ Graphics.Rendering.Chart.Axis.Time: autoTimeValueAxis :: TimeValue t => AxisFn t
+ Graphics.Rendering.Chart.Axis.Time: class TimeValue t
+ Graphics.Rendering.Chart.Axis.Time: data TimeLabelAlignment
+ Graphics.Rendering.Chart.Axis.Time: days :: TimeSeq
+ Graphics.Rendering.Chart.Axis.Time: doubleFromTimeValue :: TimeValue t => t -> Double
+ Graphics.Rendering.Chart.Axis.Time: instance GHC.Show.Show Graphics.Rendering.Chart.Axis.Time.TimeLabelAlignment
+ Graphics.Rendering.Chart.Axis.Time: instance Graphics.Rendering.Chart.Axis.Time.TimeValue Data.Time.Calendar.Days.Day
+ Graphics.Rendering.Chart.Axis.Time: instance Graphics.Rendering.Chart.Axis.Time.TimeValue Data.Time.Clock.Internal.UTCTime.UTCTime
+ Graphics.Rendering.Chart.Axis.Time: instance Graphics.Rendering.Chart.Axis.Time.TimeValue Data.Time.LocalTime.Internal.LocalTime.LocalTime
+ Graphics.Rendering.Chart.Axis.Time: instance Graphics.Rendering.Chart.Axis.Types.PlotValue Data.Time.Calendar.Days.Day
+ Graphics.Rendering.Chart.Axis.Time: instance Graphics.Rendering.Chart.Axis.Types.PlotValue Data.Time.Clock.Internal.UTCTime.UTCTime
+ Graphics.Rendering.Chart.Axis.Time: instance Graphics.Rendering.Chart.Axis.Types.PlotValue Data.Time.LocalTime.Internal.LocalTime.LocalTime
+ Graphics.Rendering.Chart.Axis.Time: months :: TimeSeq
+ Graphics.Rendering.Chart.Axis.Time: timeValueAxis :: TimeValue t => TimeSeq -> TimeSeq -> TimeLabelFn -> TimeLabelAlignment -> TimeSeq -> TimeLabelFn -> TimeLabelAlignment -> AxisFn t
+ Graphics.Rendering.Chart.Axis.Time: timeValueFromDouble :: TimeValue t => Double -> t
+ Graphics.Rendering.Chart.Axis.Time: tvFromUTCTime :: TimeValue t => UTCTime -> t
+ Graphics.Rendering.Chart.Axis.Time: type TimeLabelFn = UTCTime -> String
+ Graphics.Rendering.Chart.Axis.Time: type TimeSeq = UTCTime -> ([UTCTime], [UTCTime])
+ Graphics.Rendering.Chart.Axis.Time: utctimeFromTV :: TimeValue t => t -> UTCTime
+ Graphics.Rendering.Chart.Axis.Time: years :: TimeSeq
+ Graphics.Rendering.Chart.Legend: LegendAbove :: LegendPosition
+ Graphics.Rendering.Chart.Legend: LegendBelow :: LegendPosition
+ Graphics.Rendering.Chart.Legend: LegendLeft :: LegendPosition
+ Graphics.Rendering.Chart.Legend: LegendRight :: LegendPosition
+ Graphics.Rendering.Chart.Legend: [_legend_position] :: LegendStyle -> LegendPosition
+ Graphics.Rendering.Chart.Legend: data LegendPosition
+ Graphics.Rendering.Chart.Legend: legend_position :: Lens' LegendStyle LegendPosition
+ Graphics.Rendering.Chart.Renderable: instance GHC.Base.Functor Graphics.Rendering.Chart.Renderable.Renderable
+ Graphics.Rendering.Chart.Renderable: instance Graphics.Rendering.Chart.Renderable.ToRenderable (Graphics.Rendering.Chart.Renderable.Renderable a)
- Graphics.Rendering.Chart.Axis.Floating: la_labelf :: forall a_a14XJ a_a16me. Lens (LinearAxisParams a_a14XJ) (LinearAxisParams a_a16me) ([a_a14XJ] -> [String]) ([a_a16me] -> [String])
+ Graphics.Rendering.Chart.Axis.Floating: la_labelf :: forall a_a10gl a_a11HM. Lens (LinearAxisParams a_a10gl) (LinearAxisParams a_a11HM) ([a_a10gl] -> [String]) ([a_a11HM] -> [String])
- Graphics.Rendering.Chart.Axis.Floating: la_nLabels :: forall a_a14XJ. Lens' (LinearAxisParams a_a14XJ) Int
+ Graphics.Rendering.Chart.Axis.Floating: la_nLabels :: forall a_a10gl. Lens' (LinearAxisParams a_a10gl) Int
- Graphics.Rendering.Chart.Axis.Floating: la_nTicks :: forall a_a14XJ. Lens' (LinearAxisParams a_a14XJ) Int
+ Graphics.Rendering.Chart.Axis.Floating: la_nTicks :: forall a_a10gl. Lens' (LinearAxisParams a_a10gl) Int
- Graphics.Rendering.Chart.Axis.Floating: loga_labelf :: forall a_a14XI a_a16nQ. Iso (LogAxisParams a_a14XI) (LogAxisParams a_a16nQ) ([a_a14XI] -> [String]) ([a_a16nQ] -> [String])
+ Graphics.Rendering.Chart.Axis.Floating: loga_labelf :: forall a_a10gk a_a11Ju. Iso (LogAxisParams a_a10gk) (LogAxisParams a_a11Ju) ([a_a10gk] -> [String]) ([a_a11Ju] -> [String])
- Graphics.Rendering.Chart.Axis.Types: axis_grid :: forall x_aTeL. Lens' (AxisData x_aTeL) [x_aTeL]
+ Graphics.Rendering.Chart.Axis.Types: axis_grid :: forall x_aLWU. Lens' (AxisData x_aLWU) [x_aLWU]
- Graphics.Rendering.Chart.Axis.Types: axis_labels :: forall x_aTeL. Lens' (AxisData x_aTeL) [[(x_aTeL, String)]]
+ Graphics.Rendering.Chart.Axis.Types: axis_labels :: forall x_aLWU. Lens' (AxisData x_aLWU) [[(x_aLWU, String)]]
- Graphics.Rendering.Chart.Axis.Types: axis_ticks :: forall x_aTeL. Lens' (AxisData x_aTeL) [(x_aTeL, Double)]
+ Graphics.Rendering.Chart.Axis.Types: axis_ticks :: forall x_aLWU. Lens' (AxisData x_aLWU) [(x_aLWU, Double)]
- Graphics.Rendering.Chart.Axis.Types: axis_tropweiv :: forall x_aTeL. Lens' (AxisData x_aTeL) (Range -> Double -> x_aTeL)
+ Graphics.Rendering.Chart.Axis.Types: axis_tropweiv :: forall x_aLWU. Lens' (AxisData x_aLWU) (Range -> Double -> x_aLWU)
- Graphics.Rendering.Chart.Axis.Types: axis_viewport :: forall x_aTeL. Lens' (AxisData x_aTeL) (Range -> x_aTeL -> Double)
+ Graphics.Rendering.Chart.Axis.Types: axis_viewport :: forall x_aLWU. Lens' (AxisData x_aLWU) (Range -> x_aLWU -> Double)
- Graphics.Rendering.Chart.Axis.Types: axis_visibility :: forall x_aTeL. Lens' (AxisData x_aTeL) AxisVisibility
+ Graphics.Rendering.Chart.Axis.Types: axis_visibility :: forall x_aLWU. Lens' (AxisData x_aLWU) AxisVisibility
- Graphics.Rendering.Chart.Layout: laxis_generate :: forall x_a1lci. Lens' (LayoutAxis x_a1lci) (AxisFn x_a1lci)
+ Graphics.Rendering.Chart.Layout: laxis_generate :: forall x_a1iLH. Lens' (LayoutAxis x_a1iLH) (AxisFn x_a1iLH)
- Graphics.Rendering.Chart.Layout: laxis_override :: forall x_a1lci. Lens' (LayoutAxis x_a1lci) (AxisData x_a1lci -> AxisData x_a1lci)
+ Graphics.Rendering.Chart.Layout: laxis_override :: forall x_a1iLH. Lens' (LayoutAxis x_a1iLH) (AxisData x_a1iLH -> AxisData x_a1iLH)
- Graphics.Rendering.Chart.Layout: laxis_reverse :: forall x_a1lci. Lens' (LayoutAxis x_a1lci) Bool
+ Graphics.Rendering.Chart.Layout: laxis_reverse :: forall x_a1iLH. Lens' (LayoutAxis x_a1iLH) Bool
- Graphics.Rendering.Chart.Layout: laxis_style :: forall x_a1lci. Lens' (LayoutAxis x_a1lci) AxisStyle
+ Graphics.Rendering.Chart.Layout: laxis_style :: forall x_a1iLH. Lens' (LayoutAxis x_a1iLH) AxisStyle
- Graphics.Rendering.Chart.Layout: laxis_title :: forall x_a1lci. Lens' (LayoutAxis x_a1lci) String
+ Graphics.Rendering.Chart.Layout: laxis_title :: forall x_a1iLH. Lens' (LayoutAxis x_a1iLH) String
- Graphics.Rendering.Chart.Layout: laxis_title_style :: forall x_a1lci. Lens' (LayoutAxis x_a1lci) FontStyle
+ Graphics.Rendering.Chart.Layout: laxis_title_style :: forall x_a1iLH. Lens' (LayoutAxis x_a1iLH) FontStyle
- Graphics.Rendering.Chart.Layout: layout_background :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) FillStyle
+ Graphics.Rendering.Chart.Layout: layout_background :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) FillStyle
- Graphics.Rendering.Chart.Layout: layout_bottom_axis_visibility :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) AxisVisibility
+ Graphics.Rendering.Chart.Layout: layout_bottom_axis_visibility :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) AxisVisibility
- Graphics.Rendering.Chart.Layout: layout_grid_last :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) Bool
+ Graphics.Rendering.Chart.Layout: layout_grid_last :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) Bool
- Graphics.Rendering.Chart.Layout: layout_left_axis_visibility :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) AxisVisibility
+ Graphics.Rendering.Chart.Layout: layout_left_axis_visibility :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) AxisVisibility
- Graphics.Rendering.Chart.Layout: layout_legend :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) (Maybe LegendStyle)
+ Graphics.Rendering.Chart.Layout: layout_legend :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) (Maybe LegendStyle)
- Graphics.Rendering.Chart.Layout: layout_margin :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) Double
+ Graphics.Rendering.Chart.Layout: layout_margin :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) Double
- Graphics.Rendering.Chart.Layout: layout_plot_background :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) (Maybe FillStyle)
+ Graphics.Rendering.Chart.Layout: layout_plot_background :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) (Maybe FillStyle)
- Graphics.Rendering.Chart.Layout: layout_plots :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) [Plot x_a1lcd y_a1lce]
+ Graphics.Rendering.Chart.Layout: layout_plots :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) [Plot x_a1iLC y_a1iLD]
- Graphics.Rendering.Chart.Layout: layout_right_axis_visibility :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) AxisVisibility
+ Graphics.Rendering.Chart.Layout: layout_right_axis_visibility :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) AxisVisibility
- Graphics.Rendering.Chart.Layout: layout_title :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) String
+ Graphics.Rendering.Chart.Layout: layout_title :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) String
- Graphics.Rendering.Chart.Layout: layout_title_style :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) FontStyle
+ Graphics.Rendering.Chart.Layout: layout_title_style :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) FontStyle
- Graphics.Rendering.Chart.Layout: layout_top_axis_visibility :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) AxisVisibility
+ Graphics.Rendering.Chart.Layout: layout_top_axis_visibility :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) AxisVisibility
- Graphics.Rendering.Chart.Layout: layout_x_axis :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) (LayoutAxis x_a1lcd)
+ Graphics.Rendering.Chart.Layout: layout_x_axis :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) (LayoutAxis x_a1iLC)
- Graphics.Rendering.Chart.Layout: layout_y_axis :: forall x_a1lcd y_a1lce. Lens' (Layout x_a1lcd y_a1lce) (LayoutAxis y_a1lce)
+ Graphics.Rendering.Chart.Layout: layout_y_axis :: forall x_a1iLC y_a1iLD. Lens' (Layout x_a1iLC y_a1iLD) (LayoutAxis y_a1iLD)
- Graphics.Rendering.Chart.Layout: layoutlr_background :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) FillStyle
+ Graphics.Rendering.Chart.Layout: layoutlr_background :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) FillStyle
- Graphics.Rendering.Chart.Layout: layoutlr_bottom_axis_visibility :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) AxisVisibility
+ Graphics.Rendering.Chart.Layout: layoutlr_bottom_axis_visibility :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) AxisVisibility
- Graphics.Rendering.Chart.Layout: layoutlr_grid_last :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) Bool
+ Graphics.Rendering.Chart.Layout: layoutlr_grid_last :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) Bool
- Graphics.Rendering.Chart.Layout: layoutlr_left_axis :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) (LayoutAxis y1_a1lcb)
+ Graphics.Rendering.Chart.Layout: layoutlr_left_axis :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) (LayoutAxis y1_a1iLA)
- Graphics.Rendering.Chart.Layout: layoutlr_left_axis_visibility :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) AxisVisibility
+ Graphics.Rendering.Chart.Layout: layoutlr_left_axis_visibility :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) AxisVisibility
- Graphics.Rendering.Chart.Layout: layoutlr_legend :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) (Maybe LegendStyle)
+ Graphics.Rendering.Chart.Layout: layoutlr_legend :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) (Maybe LegendStyle)
- Graphics.Rendering.Chart.Layout: layoutlr_margin :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) Double
+ Graphics.Rendering.Chart.Layout: layoutlr_margin :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) Double
- Graphics.Rendering.Chart.Layout: layoutlr_plot_background :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) (Maybe FillStyle)
+ Graphics.Rendering.Chart.Layout: layoutlr_plot_background :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) (Maybe FillStyle)
- Graphics.Rendering.Chart.Layout: layoutlr_plots :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) [Either (Plot x_a1lca y1_a1lcb) (Plot x_a1lca y2_a1lcc)]
+ Graphics.Rendering.Chart.Layout: layoutlr_plots :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) [Either (Plot x_a1iLz y1_a1iLA) (Plot x_a1iLz y2_a1iLB)]
- Graphics.Rendering.Chart.Layout: layoutlr_right_axis :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) (LayoutAxis y2_a1lcc)
+ Graphics.Rendering.Chart.Layout: layoutlr_right_axis :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) (LayoutAxis y2_a1iLB)
- Graphics.Rendering.Chart.Layout: layoutlr_right_axis_visibility :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) AxisVisibility
+ Graphics.Rendering.Chart.Layout: layoutlr_right_axis_visibility :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) AxisVisibility
- Graphics.Rendering.Chart.Layout: layoutlr_title :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) String
+ Graphics.Rendering.Chart.Layout: layoutlr_title :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) String
- Graphics.Rendering.Chart.Layout: layoutlr_title_style :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) FontStyle
+ Graphics.Rendering.Chart.Layout: layoutlr_title_style :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) FontStyle
- Graphics.Rendering.Chart.Layout: layoutlr_top_axis_visibility :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) AxisVisibility
+ Graphics.Rendering.Chart.Layout: layoutlr_top_axis_visibility :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) AxisVisibility
- Graphics.Rendering.Chart.Layout: layoutlr_x_axis :: forall x_a1lca y1_a1lcb y2_a1lcc. Lens' (LayoutLR x_a1lca y1_a1lcb y2_a1lcc) (LayoutAxis x_a1lca)
+ Graphics.Rendering.Chart.Layout: layoutlr_x_axis :: forall x_a1iLz y1_a1iLA y2_a1iLB. Lens' (LayoutLR x_a1iLz y1_a1iLA y2_a1iLB) (LayoutAxis x_a1iLz)
- Graphics.Rendering.Chart.Layout: slayouts_compress_legend :: forall x_a1lc5. Lens' (StackedLayouts x_a1lc5) Bool
+ Graphics.Rendering.Chart.Layout: slayouts_compress_legend :: forall x_a1iLu. Lens' (StackedLayouts x_a1iLu) Bool
- Graphics.Rendering.Chart.Layout: slayouts_layouts :: forall x_a1lc5 x_a1mIG. Lens (StackedLayouts x_a1lc5) (StackedLayouts x_a1mIG) [StackedLayout x_a1lc5] [StackedLayout x_a1mIG]
+ Graphics.Rendering.Chart.Layout: slayouts_layouts :: forall x_a1iLu x_a1kmW. Lens (StackedLayouts x_a1iLu) (StackedLayouts x_a1kmW) [StackedLayout x_a1iLu] [StackedLayout x_a1kmW]
- Graphics.Rendering.Chart.Legend: LegendStyle :: FontStyle -> Double -> Double -> LegendOrientation -> LegendStyle
+ Graphics.Rendering.Chart.Legend: LegendStyle :: FontStyle -> Double -> Double -> LegendOrientation -> LegendPosition -> LegendStyle
- Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_angle :: forall x_avbX y_avbY. Lens' (PlotAnnotation x_avbX y_avbY) Double
+ Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_angle :: forall x_awRR y_awRS. Lens' (PlotAnnotation x_awRR y_awRS) Double
- Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_hanchor :: forall x_avbX y_avbY. Lens' (PlotAnnotation x_avbX y_avbY) HTextAnchor
+ Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_hanchor :: forall x_awRR y_awRS. Lens' (PlotAnnotation x_awRR y_awRS) HTextAnchor
- Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_style :: forall x_avbX y_avbY. Lens' (PlotAnnotation x_avbX y_avbY) FontStyle
+ Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_style :: forall x_awRR y_awRS. Lens' (PlotAnnotation x_awRR y_awRS) FontStyle
- Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_values :: forall x_avbX y_avbY x_avkY y_avkZ. Lens (PlotAnnotation x_avbX y_avbY) (PlotAnnotation x_avkY y_avkZ) [(x_avbX, y_avbY, String)] [(x_avkY, y_avkZ, String)]
+ Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_values :: forall x_awRR y_awRS x_axaE y_axaF. Lens (PlotAnnotation x_awRR y_awRS) (PlotAnnotation x_axaE y_axaF) [(x_awRR, y_awRS, String)] [(x_axaE, y_axaF, String)]
- Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_vanchor :: forall x_avbX y_avbY. Lens' (PlotAnnotation x_avbX y_avbY) VTextAnchor
+ Graphics.Rendering.Chart.Plot.Annotation: plot_annotation_vanchor :: forall x_awRR y_awRS. Lens' (PlotAnnotation x_awRR y_awRS) VTextAnchor
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_linethick :: forall z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7. Lens' (AreaSpots4D z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7) Double
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_linethick :: forall z_a1cKc t_a1cKd x_a1cKe y_a1cKf. Lens' (AreaSpots4D z_a1cKc t_a1cKd x_a1cKe y_a1cKf) Double
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_max_radius :: forall z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7. Lens' (AreaSpots4D z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7) Double
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_max_radius :: forall z_a1cKc t_a1cKd x_a1cKe y_a1cKf. Lens' (AreaSpots4D z_a1cKc t_a1cKd x_a1cKe y_a1cKf) Double
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_opacity :: forall z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7. Lens' (AreaSpots4D z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7) Double
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_opacity :: forall z_a1cKc t_a1cKd x_a1cKe y_a1cKf. Lens' (AreaSpots4D z_a1cKc t_a1cKd x_a1cKe y_a1cKf) Double
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_palette :: forall z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7. Lens' (AreaSpots4D z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7) [Colour Double]
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_palette :: forall z_a1cKc t_a1cKd x_a1cKe y_a1cKf. Lens' (AreaSpots4D z_a1cKc t_a1cKd x_a1cKe y_a1cKf) [Colour Double]
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_title :: forall z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7. Lens' (AreaSpots4D z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7) String
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_title :: forall z_a1cKc t_a1cKd x_a1cKe y_a1cKf. Lens' (AreaSpots4D z_a1cKc t_a1cKd x_a1cKe y_a1cKf) String
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_values :: forall z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7 z_a1e5e t_a1e5f x_a1e5g y_a1e5h. Lens (AreaSpots4D z_a1dA4 t_a1dA5 x_a1dA6 y_a1dA7) (AreaSpots4D z_a1e5e t_a1e5f x_a1e5g y_a1e5h) [(x_a1dA6, y_a1dA7, z_a1dA4, t_a1dA5)] [(x_a1e5g, y_a1e5h, z_a1e5e, t_a1e5f)]
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_4d_values :: forall z_a1cKc t_a1cKd x_a1cKe y_a1cKf z_a1dco t_a1dcp x_a1dcq y_a1dcr. Lens (AreaSpots4D z_a1cKc t_a1cKd x_a1cKe y_a1cKf) (AreaSpots4D z_a1dco t_a1dcp x_a1dcq y_a1dcr) [(x_a1cKe, y_a1cKf, z_a1cKc, t_a1cKd)] [(x_a1dcq, y_a1dcr, z_a1dco, t_a1dcp)]
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_fillcolour :: forall z_a1dA8 x_a1dA9 y_a1dAa. Lens' (AreaSpots z_a1dA8 x_a1dA9 y_a1dAa) (Colour Double)
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_fillcolour :: forall z_a1cKg x_a1cKh y_a1cKi. Lens' (AreaSpots z_a1cKg x_a1cKh y_a1cKi) (Colour Double)
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_linecolour :: forall z_a1dA8 x_a1dA9 y_a1dAa. Lens' (AreaSpots z_a1dA8 x_a1dA9 y_a1dAa) (AlphaColour Double)
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_linecolour :: forall z_a1cKg x_a1cKh y_a1cKi. Lens' (AreaSpots z_a1cKg x_a1cKh y_a1cKi) (AlphaColour Double)
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_linethick :: forall z_a1dA8 x_a1dA9 y_a1dAa. Lens' (AreaSpots z_a1dA8 x_a1dA9 y_a1dAa) Double
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_linethick :: forall z_a1cKg x_a1cKh y_a1cKi. Lens' (AreaSpots z_a1cKg x_a1cKh y_a1cKi) Double
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_max_radius :: forall z_a1dA8 x_a1dA9 y_a1dAa. Lens' (AreaSpots z_a1dA8 x_a1dA9 y_a1dAa) Double
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_max_radius :: forall z_a1cKg x_a1cKh y_a1cKi. Lens' (AreaSpots z_a1cKg x_a1cKh y_a1cKi) Double
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_opacity :: forall z_a1dA8 x_a1dA9 y_a1dAa. Lens' (AreaSpots z_a1dA8 x_a1dA9 y_a1dAa) Double
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_opacity :: forall z_a1cKg x_a1cKh y_a1cKi. Lens' (AreaSpots z_a1cKg x_a1cKh y_a1cKi) Double
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_title :: forall z_a1dA8 x_a1dA9 y_a1dAa. Lens' (AreaSpots z_a1dA8 x_a1dA9 y_a1dAa) String
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_title :: forall z_a1cKg x_a1cKh y_a1cKi. Lens' (AreaSpots z_a1cKg x_a1cKh y_a1cKi) String
- Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_values :: forall z_a1dA8 x_a1dA9 y_a1dAa z_a1e08 x_a1e09 y_a1e0a. Lens (AreaSpots z_a1dA8 x_a1dA9 y_a1dAa) (AreaSpots z_a1e08 x_a1e09 y_a1e0a) [(x_a1dA9, y_a1dAa, z_a1dA8)] [(x_a1e09, y_a1e0a, z_a1e08)]
+ Graphics.Rendering.Chart.Plot.AreaSpots: area_spots_values :: forall z_a1cKg x_a1cKh y_a1cKi z_a1d74 x_a1d75 y_a1d76. Lens (AreaSpots z_a1cKg x_a1cKh y_a1cKi) (AreaSpots z_a1d74 x_a1d75 y_a1d76) [(x_a1cKh, y_a1cKi, z_a1cKg)] [(x_a1d75, y_a1d76, z_a1d74)]
- Graphics.Rendering.Chart.Plot.Bars: plot_bars_alignment :: forall x_a1gn8 y_a1gn9. Lens' (PlotBars x_a1gn8 y_a1gn9) PlotBarsAlignment
+ Graphics.Rendering.Chart.Plot.Bars: plot_bars_alignment :: forall x_a1acf y_a1acg. Lens' (PlotBars x_a1acf y_a1acg) PlotBarsAlignment
- Graphics.Rendering.Chart.Plot.Bars: plot_bars_item_styles :: forall x_a1gn8 y_a1gn9. Lens' (PlotBars x_a1gn8 y_a1gn9) [(FillStyle, Maybe LineStyle)]
+ Graphics.Rendering.Chart.Plot.Bars: plot_bars_item_styles :: forall x_a1acf y_a1acg. Lens' (PlotBars x_a1acf y_a1acg) [(FillStyle, Maybe LineStyle)]
- Graphics.Rendering.Chart.Plot.Bars: plot_bars_reference :: forall x_a1gn8 y_a1gn9. Lens' (PlotBars x_a1gn8 y_a1gn9) y_a1gn9
+ Graphics.Rendering.Chart.Plot.Bars: plot_bars_reference :: forall x_a1acf y_a1acg. Lens' (PlotBars x_a1acf y_a1acg) y_a1acg
- Graphics.Rendering.Chart.Plot.Bars: plot_bars_singleton_width :: forall x_a1gn8 y_a1gn9. Lens' (PlotBars x_a1gn8 y_a1gn9) Double
+ Graphics.Rendering.Chart.Plot.Bars: plot_bars_singleton_width :: forall x_a1acf y_a1acg. Lens' (PlotBars x_a1acf y_a1acg) Double
- Graphics.Rendering.Chart.Plot.Bars: plot_bars_spacing :: forall x_a1gn8 y_a1gn9. Lens' (PlotBars x_a1gn8 y_a1gn9) PlotBarsSpacing
+ Graphics.Rendering.Chart.Plot.Bars: plot_bars_spacing :: forall x_a1acf y_a1acg. Lens' (PlotBars x_a1acf y_a1acg) PlotBarsSpacing
- Graphics.Rendering.Chart.Plot.Bars: plot_bars_style :: forall x_a1gn8 y_a1gn9. Lens' (PlotBars x_a1gn8 y_a1gn9) PlotBarsStyle
+ Graphics.Rendering.Chart.Plot.Bars: plot_bars_style :: forall x_a1acf y_a1acg. Lens' (PlotBars x_a1acf y_a1acg) PlotBarsStyle
- Graphics.Rendering.Chart.Plot.Bars: plot_bars_titles :: forall x_a1gn8 y_a1gn9. Lens' (PlotBars x_a1gn8 y_a1gn9) [String]
+ Graphics.Rendering.Chart.Plot.Bars: plot_bars_titles :: forall x_a1acf y_a1acg. Lens' (PlotBars x_a1acf y_a1acg) [String]
- Graphics.Rendering.Chart.Plot.Bars: plot_bars_values :: forall x_a1gn8 y_a1gn9 x_a1gFF. Lens (PlotBars x_a1gn8 y_a1gn9) (PlotBars x_a1gFF y_a1gn9) [(x_a1gn8, [y_a1gn9])] [(x_a1gFF, [y_a1gn9])]
+ Graphics.Rendering.Chart.Plot.Bars: plot_bars_values :: forall x_a1acf y_a1acg x_a1avo. Lens (PlotBars x_a1acf y_a1acg) (PlotBars x_a1avo y_a1acg) [(x_a1acf, [y_a1acg])] [(x_a1avo, [y_a1acg])]
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_centre :: forall x_avQ0 y_avQ1. Lens' (PlotCandle x_avQ0 y_avQ1) Double
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_centre :: forall x_auqG y_auqH. Lens' (PlotCandle x_auqG y_auqH) Double
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_fall_fill_style :: forall x_avQ0 y_avQ1. Lens' (PlotCandle x_avQ0 y_avQ1) FillStyle
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_fall_fill_style :: forall x_auqG y_auqH. Lens' (PlotCandle x_auqG y_auqH) FillStyle
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_fill :: forall x_avQ0 y_avQ1. Lens' (PlotCandle x_avQ0 y_avQ1) Bool
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_fill :: forall x_auqG y_auqH. Lens' (PlotCandle x_auqG y_auqH) Bool
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_line_style :: forall x_avQ0 y_avQ1. Lens' (PlotCandle x_avQ0 y_avQ1) LineStyle
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_line_style :: forall x_auqG y_auqH. Lens' (PlotCandle x_auqG y_auqH) LineStyle
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_rise_fill_style :: forall x_avQ0 y_avQ1. Lens' (PlotCandle x_avQ0 y_avQ1) FillStyle
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_rise_fill_style :: forall x_auqG y_auqH. Lens' (PlotCandle x_auqG y_auqH) FillStyle
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_tick_length :: forall x_avQ0 y_avQ1. Lens' (PlotCandle x_avQ0 y_avQ1) Double
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_tick_length :: forall x_auqG y_auqH. Lens' (PlotCandle x_auqG y_auqH) Double
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_title :: forall x_avQ0 y_avQ1. Lens' (PlotCandle x_avQ0 y_avQ1) String
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_title :: forall x_auqG y_auqH. Lens' (PlotCandle x_auqG y_auqH) String
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_values :: forall x_avQ0 y_avQ1 x_aw2Q y_aw2R. Lens (PlotCandle x_avQ0 y_avQ1) (PlotCandle x_aw2Q y_aw2R) [Candle x_avQ0 y_avQ1] [Candle x_aw2Q y_aw2R]
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_values :: forall x_auqG y_auqH x_auE4 y_auE5. Lens (PlotCandle x_auqG y_auqH) (PlotCandle x_auE4 y_auE5) [Candle x_auqG y_auqH] [Candle x_auE4 y_auE5]
- Graphics.Rendering.Chart.Plot.Candle: plot_candle_width :: forall x_avQ0 y_avQ1. Lens' (PlotCandle x_avQ0 y_avQ1) Double
+ Graphics.Rendering.Chart.Plot.Candle: plot_candle_width :: forall x_auqG y_auqH. Lens' (PlotCandle x_auqG y_auqH) Double
- Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_line_style :: forall x_ayts y_aytt. Lens' (PlotErrBars x_ayts y_aytt) LineStyle
+ Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_line_style :: forall x_asp7 y_asp8. Lens' (PlotErrBars x_asp7 y_asp8) LineStyle
- Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_overhang :: forall x_ayts y_aytt. Lens' (PlotErrBars x_ayts y_aytt) Double
+ Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_overhang :: forall x_asp7 y_asp8. Lens' (PlotErrBars x_asp7 y_asp8) Double
- Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_tick_length :: forall x_ayts y_aytt. Lens' (PlotErrBars x_ayts y_aytt) Double
+ Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_tick_length :: forall x_asp7 y_asp8. Lens' (PlotErrBars x_asp7 y_asp8) Double
- Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_title :: forall x_ayts y_aytt. Lens' (PlotErrBars x_ayts y_aytt) String
+ Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_title :: forall x_asp7 y_asp8. Lens' (PlotErrBars x_asp7 y_asp8) String
- Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_values :: forall x_ayts y_aytt x_ayEM y_ayEN. Lens (PlotErrBars x_ayts y_aytt) (PlotErrBars x_ayEM y_ayEN) [ErrPoint x_ayts y_aytt] [ErrPoint x_ayEM y_ayEN]
+ Graphics.Rendering.Chart.Plot.ErrBars: plot_errbars_values :: forall x_asp7 y_asp8 x_asC2 y_asC3. Lens (PlotErrBars x_asp7 y_asp8) (PlotErrBars x_asC2 y_asC3) [ErrPoint x_asp7 y_asp8] [ErrPoint x_asC2 y_asC3]
- Graphics.Rendering.Chart.Plot.FillBetween: plot_fillbetween_style :: forall x_aAEp y_aAEq. Lens' (PlotFillBetween x_aAEp y_aAEq) FillStyle
+ Graphics.Rendering.Chart.Plot.FillBetween: plot_fillbetween_style :: forall x_arI8 y_arI9. Lens' (PlotFillBetween x_arI8 y_arI9) FillStyle
- Graphics.Rendering.Chart.Plot.FillBetween: plot_fillbetween_title :: forall x_aAEp y_aAEq. Lens' (PlotFillBetween x_aAEp y_aAEq) String
+ Graphics.Rendering.Chart.Plot.FillBetween: plot_fillbetween_title :: forall x_arI8 y_arI9. Lens' (PlotFillBetween x_arI8 y_arI9) String
- Graphics.Rendering.Chart.Plot.FillBetween: plot_fillbetween_values :: forall x_aAEp y_aAEq x_aAIU y_aAIV. Lens (PlotFillBetween x_aAEp y_aAEq) (PlotFillBetween x_aAIU y_aAIV) [(x_aAEp, (y_aAEq, y_aAEq))] [(x_aAIU, (y_aAIV, y_aAIV))]
+ Graphics.Rendering.Chart.Plot.FillBetween: plot_fillbetween_values :: forall x_arI8 y_arI9 x_arMX y_arMY. Lens (PlotFillBetween x_arI8 y_arI9) (PlotFillBetween x_arMX y_arMY) [(x_arI8, (y_arI9, y_arI9))] [(x_arMX, (y_arMY, y_arMY))]
- Graphics.Rendering.Chart.Plot.Hidden: plot_hidden_x_values :: forall x_aBpk y_aBpl x_aBqc. Lens (PlotHidden x_aBpk y_aBpl) (PlotHidden x_aBqc y_aBpl) [x_aBpk] [x_aBqc]
+ Graphics.Rendering.Chart.Plot.Hidden: plot_hidden_x_values :: forall x_arwk y_arwl x_arxk. Lens (PlotHidden x_arwk y_arwl) (PlotHidden x_arxk y_arwl) [x_arwk] [x_arxk]
- Graphics.Rendering.Chart.Plot.Hidden: plot_hidden_y_values :: forall x_aBpk y_aBpl y_aBqd. Lens (PlotHidden x_aBpk y_aBpl) (PlotHidden x_aBpk y_aBqd) [y_aBpl] [y_aBqd]
+ Graphics.Rendering.Chart.Plot.Hidden: plot_hidden_y_values :: forall x_arwk y_arwl y_arxl. Lens (PlotHidden x_arwk y_arwl) (PlotHidden x_arwk y_arxl) [y_arwl] [y_arxl]
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_bins :: forall x_aBBA y_aBBB. Lens' (PlotHist x_aBBA y_aBBB) Int
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_bins :: forall x_a1gNr y_a1gNs. Lens' (PlotHist x_a1gNr y_a1gNs) Int
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_drop_lines :: forall x_aBBA y_aBBB. Lens' (PlotHist x_aBBA y_aBBB) Bool
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_drop_lines :: forall x_a1gNr y_a1gNs. Lens' (PlotHist x_a1gNr y_a1gNs) Bool
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_fill_style :: forall x_aBBA y_aBBB. Lens' (PlotHist x_aBBA y_aBBB) FillStyle
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_fill_style :: forall x_a1gNr y_a1gNs. Lens' (PlotHist x_a1gNr y_a1gNs) FillStyle
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_line_style :: forall x_aBBA y_aBBB. Lens' (PlotHist x_aBBA y_aBBB) LineStyle
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_line_style :: forall x_a1gNr y_a1gNs. Lens' (PlotHist x_a1gNr y_a1gNs) LineStyle
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_no_zeros :: forall x_aBBA y_aBBB. Lens' (PlotHist x_aBBA y_aBBB) Bool
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_no_zeros :: forall x_a1gNr y_a1gNs. Lens' (PlotHist x_a1gNr y_a1gNs) Bool
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_norm_func :: forall x_aBBA y_aBBB y_aBPI. Lens (PlotHist x_aBBA y_aBBB) (PlotHist x_aBBA y_aBPI) (Double -> Int -> y_aBBB) (Double -> Int -> y_aBPI)
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_norm_func :: forall x_a1gNr y_a1gNs y_a1h1z. Lens (PlotHist x_a1gNr y_a1gNs) (PlotHist x_a1gNr y_a1h1z) (Double -> Int -> y_a1gNs) (Double -> Int -> y_a1h1z)
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_range :: forall x_aBBA y_aBBB. Lens' (PlotHist x_aBBA y_aBBB) (Maybe (x_aBBA, x_aBBA))
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_range :: forall x_a1gNr y_a1gNs. Lens' (PlotHist x_a1gNr y_a1gNs) (Maybe (x_a1gNr, x_a1gNr))
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_title :: forall x_aBBA y_aBBB. Lens' (PlotHist x_aBBA y_aBBB) String
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_title :: forall x_a1gNr y_a1gNs. Lens' (PlotHist x_a1gNr y_a1gNs) String
- Graphics.Rendering.Chart.Plot.Histogram: plot_hist_values :: forall x_aBBA y_aBBB. Lens' (PlotHist x_aBBA y_aBBB) [x_aBBA]
+ Graphics.Rendering.Chart.Plot.Histogram: plot_hist_values :: forall x_a1gNr y_a1gNs. Lens' (PlotHist x_a1gNr y_a1gNs) [x_a1gNr]
- Graphics.Rendering.Chart.Plot.Lines: plot_lines_limit_values :: forall x_aDEA y_aDEB. Lens' (PlotLines x_aDEA y_aDEB) [[(Limit x_aDEA, Limit y_aDEB)]]
+ Graphics.Rendering.Chart.Plot.Lines: plot_lines_limit_values :: forall x_aqGG y_aqGH. Lens' (PlotLines x_aqGG y_aqGH) [[(Limit x_aqGG, Limit y_aqGH)]]
- Graphics.Rendering.Chart.Plot.Lines: plot_lines_style :: forall x_aDEA y_aDEB. Lens' (PlotLines x_aDEA y_aDEB) LineStyle
+ Graphics.Rendering.Chart.Plot.Lines: plot_lines_style :: forall x_aqGG y_aqGH. Lens' (PlotLines x_aqGG y_aqGH) LineStyle
- Graphics.Rendering.Chart.Plot.Lines: plot_lines_title :: forall x_aDEA y_aDEB. Lens' (PlotLines x_aDEA y_aDEB) String
+ Graphics.Rendering.Chart.Plot.Lines: plot_lines_title :: forall x_aqGG y_aqGH. Lens' (PlotLines x_aqGG y_aqGH) String
- Graphics.Rendering.Chart.Plot.Lines: plot_lines_values :: forall x_aDEA y_aDEB. Lens' (PlotLines x_aDEA y_aDEB) [[(x_aDEA, y_aDEB)]]
+ Graphics.Rendering.Chart.Plot.Lines: plot_lines_values :: forall x_aqGG y_aqGH. Lens' (PlotLines x_aqGG y_aqGH) [[(x_aqGG, y_aqGH)]]
- Graphics.Rendering.Chart.Plot.Points: plot_points_style :: forall x_aEwt y_aEwu. Lens' (PlotPoints x_aEwt y_aEwu) PointStyle
+ Graphics.Rendering.Chart.Plot.Points: plot_points_style :: forall x_aqd7 y_aqd8. Lens' (PlotPoints x_aqd7 y_aqd8) PointStyle
- Graphics.Rendering.Chart.Plot.Points: plot_points_title :: forall x_aEwt y_aEwu. Lens' (PlotPoints x_aEwt y_aEwu) String
+ Graphics.Rendering.Chart.Plot.Points: plot_points_title :: forall x_aqd7 y_aqd8. Lens' (PlotPoints x_aqd7 y_aqd8) String
- Graphics.Rendering.Chart.Plot.Points: plot_points_values :: forall x_aEwt y_aEwu x_aEzR y_aEzS. Lens (PlotPoints x_aEwt y_aEwu) (PlotPoints x_aEzR y_aEzS) [(x_aEwt, y_aEwu)] [(x_aEzR, y_aEzS)]
+ Graphics.Rendering.Chart.Plot.Points: plot_points_values :: forall x_aqd7 y_aqd8 x_aqh5 y_aqh6. Lens (PlotPoints x_aqd7 y_aqd8) (PlotPoints x_aqh5 y_aqh6) [(x_aqd7, y_aqd8)] [(x_aqh5, y_aqh6)]
- Graphics.Rendering.Chart.Plot.Types: plot_all_points :: forall x_auPA y_auPB. Lens' (Plot x_auPA y_auPB) ([x_auPA], [y_auPB])
+ Graphics.Rendering.Chart.Plot.Types: plot_all_points :: forall x_apPL y_apPM. Lens' (Plot x_apPL y_apPM) ([x_apPL], [y_apPM])
- Graphics.Rendering.Chart.Plot.Types: plot_legend :: forall x_auPA y_auPB. Lens' (Plot x_auPA y_auPB) [(String, Rect -> BackendProgram ())]
+ Graphics.Rendering.Chart.Plot.Types: plot_legend :: forall x_apPL y_apPM. Lens' (Plot x_apPL y_apPM) [(String, Rect -> BackendProgram ())]
- Graphics.Rendering.Chart.Plot.Types: plot_render :: forall x_auPA y_auPB. Lens' (Plot x_auPA y_auPB) (PointMapFn x_auPA y_auPB -> BackendProgram ())
+ Graphics.Rendering.Chart.Plot.Types: plot_render :: forall x_apPL y_apPM. Lens' (Plot x_apPL y_apPM) (PointMapFn x_apPL y_apPM -> BackendProgram ())
- Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_grid :: forall x_a1j5X y_a1j5Y. Lens' (PlotVectors x_a1j5X y_a1j5Y) [(x_a1j5X, y_a1j5Y)]
+ Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_grid :: forall x_a1854 y_a1855. Lens' (PlotVectors x_a1854 y_a1855) [(x_a1854, y_a1855)]
- Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_mapf :: forall x_a1j5X y_a1j5Y. Lens' (PlotVectors x_a1j5X y_a1j5Y) ((x_a1j5X, y_a1j5Y) -> (x_a1j5X, y_a1j5Y))
+ Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_mapf :: forall x_a1854 y_a1855. Lens' (PlotVectors x_a1854 y_a1855) ((x_a1854, y_a1855) -> (x_a1854, y_a1855))
- Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_scale :: forall x_a1j5X y_a1j5Y. Lens' (PlotVectors x_a1j5X y_a1j5Y) Double
+ Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_scale :: forall x_a1854 y_a1855. Lens' (PlotVectors x_a1854 y_a1855) Double
- Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_style :: forall x_a1j5X y_a1j5Y. Lens' (PlotVectors x_a1j5X y_a1j5Y) VectorStyle
+ Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_style :: forall x_a1854 y_a1855. Lens' (PlotVectors x_a1854 y_a1855) VectorStyle
- Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_title :: forall x_a1j5X y_a1j5Y. Lens' (PlotVectors x_a1j5X y_a1j5Y) String
+ Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_title :: forall x_a1854 y_a1855. Lens' (PlotVectors x_a1854 y_a1855) String
- Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_values :: forall x_a1j5X y_a1j5Y. Lens' (PlotVectors x_a1j5X y_a1j5Y) [((x_a1j5X, y_a1j5Y), (x_a1j5X, y_a1j5Y))]
+ Graphics.Rendering.Chart.Plot.Vectors: plot_vectors_values :: forall x_a1854 y_a1855. Lens' (PlotVectors x_a1854 y_a1855) [((x_a1854, y_a1855), (x_a1854, y_a1855))]
Files
- Chart.cabal +4/−3
- Graphics/Rendering/Chart/Axis.hs +2/−2
- Graphics/Rendering/Chart/Axis/Floating.hs +1/−0
- Graphics/Rendering/Chart/Axis/Int.hs +1/−0
- Graphics/Rendering/Chart/Axis/LocalTime.hs +22/−23
- Graphics/Rendering/Chart/Axis/Time.hs +316/−0
- Graphics/Rendering/Chart/Axis/Unit.hs +1/−0
- Graphics/Rendering/Chart/Layout.hs +18/−6
- Graphics/Rendering/Chart/Legend.hs +15/−6
- Graphics/Rendering/Chart/Plot/Vectors.hs +3/−0
- Graphics/Rendering/Chart/Renderable.hs +5/−0
Chart.cabal view
@@ -1,5 +1,5 @@ Name: Chart-Version: 1.8.2+Version: 1.8.3 License: BSD3 License-file: LICENSE Copyright: Tim Docker, 2006-2014@@ -11,7 +11,7 @@ Cairo (<http://hackage.haskell.org/package/Chart-cairo>) and Diagrams (<http://hackage.haskell.org/package/Chart-diagrams>).- + Documentation: https://github.com/timbod7/haskell-chart/wiki. Category: Graphics Cabal-Version: >= 1.6@@ -21,7 +21,7 @@ Build-depends: base >= 3 && < 5 , old-locale , time, mtl, array- , lens >= 3.9 && < 4.16+ , lens >= 3.9 && < 4.17 , colour >= 2.2.1 && < 2.4 , data-default-class < 0.2 , mtl >= 2.0 && < 2.3@@ -41,6 +41,7 @@ Graphics.Rendering.Chart.Axis.Floating, Graphics.Rendering.Chart.Axis.Indexed, Graphics.Rendering.Chart.Axis.Int,+ Graphics.Rendering.Chart.Axis.Time, Graphics.Rendering.Chart.Axis.LocalTime, Graphics.Rendering.Chart.Axis.Types, Graphics.Rendering.Chart.Axis.Unit,
Graphics/Rendering/Chart/Axis.hs view
@@ -11,7 +11,7 @@ module Graphics.Rendering.Chart.Axis.Types, module Graphics.Rendering.Chart.Axis.Floating, module Graphics.Rendering.Chart.Axis.Int,- module Graphics.Rendering.Chart.Axis.LocalTime,+ module Graphics.Rendering.Chart.Axis.Time, module Graphics.Rendering.Chart.Axis.Unit, module Graphics.Rendering.Chart.Axis.Indexed, ) where@@ -19,6 +19,6 @@ import Graphics.Rendering.Chart.Axis.Types import Graphics.Rendering.Chart.Axis.Floating import Graphics.Rendering.Chart.Axis.Int-import Graphics.Rendering.Chart.Axis.LocalTime+import Graphics.Rendering.Chart.Axis.Time import Graphics.Rendering.Chart.Axis.Unit import Graphics.Rendering.Chart.Axis.Indexed
Graphics/Rendering/Chart/Axis/Floating.hs view
@@ -11,6 +11,7 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# OPTIONS_GHC -fno-warn-orphans #-} module Graphics.Rendering.Chart.Axis.Floating( Percent(..),
Graphics/Rendering/Chart/Axis/Int.hs view
@@ -5,6 +5,7 @@ -- License : BSD-style (see chart/COPYRIGHT) -- -- Calculate and render integer indexed axes+{-# OPTIONS_GHC -fno-warn-orphans #-} module Graphics.Rendering.Chart.Axis.Int( defaultIntAxis,
Graphics/Rendering/Chart/Axis/LocalTime.hs view
@@ -8,21 +8,24 @@ -- -- Calculate and render time axes -module Graphics.Rendering.Chart.Axis.LocalTime(+module Graphics.Rendering.Chart.Axis.LocalTime+ {-# DEPRECATED "Use Graphics.Rendering.Chart.Axis.Time module" #-}+ ( TimeSeq, TimeLabelFn, TimeLabelAlignment(..),- + timeAxis, autoTimeAxis,- + days, months, years,- + -- * Utilities doubleFromLocalTime- - ) where- ++ )+ where+ import Data.Default.Class #if MIN_VERSION_time(1,5,0) import Data.Time hiding (months)@@ -34,11 +37,7 @@ import Control.Lens import Graphics.Rendering.Chart.Axis.Types--instance PlotValue LocalTime where- toValue = doubleFromLocalTime- fromValue = localTimeFromDouble- autoAxis = autoTimeAxis+import Graphics.Rendering.Chart.Axis.Time () ---------------------------------------------------------------------- @@ -89,19 +88,19 @@ -- -- The values to be plotted against this axis can be created with -- 'doubleFromLocalTime'.-timeAxis :: - TimeSeq +timeAxis ::+ TimeSeq -- ^ Set the minor ticks, and the final range will be aligned to its -- elements.- -> TimeSeq + -> TimeSeq -- ^ Set the labels and grid.- -> TimeLabelFn - -> TimeLabelAlignment - -> TimeSeq + -> TimeLabelFn+ -> TimeLabelAlignment+ -> TimeSeq -- ^ Set the second line of labels.- -> TimeLabelFn + -> TimeLabelFn -- ^ Format `LocalTime` for labels.- -> TimeLabelAlignment + -> TimeLabelAlignment -> AxisFn LocalTime timeAxis tseq lseq labelf lal cseq contextf clal pts = AxisData { _axis_visibility = def,@@ -110,7 +109,7 @@ _axis_ticks = [ (t,2) | t <- times] ++ [ (t,5) | t <- ltimes, visible t], _axis_labels = [ [ (t,l) | (t,l) <- labels labelf ltimes lal, visible t] , [ (t,l) | (t,l) <- labels contextf ctimes clal, visible t]- ], + ], _axis_grid = [ t | t <- ltimes, visible t] } where@@ -235,9 +234,9 @@ autoTimeAxis pts | null pts = timeAxis days days (ft "%d-%b-%y") UnderTicks noTime (ft "") UnderTicks []- | tdiff==0 && 100*dsec<1= timeAxis millis1 millis1 (ft "%S%Q") UnderTicks + | tdiff==0 && 100*dsec<1= timeAxis millis1 millis1 (ft "%S%Q") UnderTicks noTime (ft "%S%Q") UnderTicks pts- | tdiff==0 && 10*dsec<1 = timeAxis millis10 millis10 (ft "%S%Q") UnderTicks + | tdiff==0 && 10*dsec<1 = timeAxis millis10 millis10 (ft "%S%Q") UnderTicks noTime (ft "%S%Q") UnderTicks pts | tdiff==0 && dsec<1 = timeAxis millis10 millis100 (ft "%S%Q") UnderTicks seconds (ft "%M:%S") BetweenTicks pts
+ Graphics/Rendering/Chart/Axis/Time.hs view
@@ -0,0 +1,316 @@+{-# LANGUAGE CPP #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}++-----------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.Chart.Axis.Time+-- Copyright : (c) Tim Docker 2010, 2014+-- License : BSD-style (see chart/COPYRIGHT)+--+-- Calculate and render time axes++module Graphics.Rendering.Chart.Axis.Time(+ TimeSeq,+ TimeLabelFn,+ TimeLabelAlignment(..),++ TimeValue (..),++ timeValueAxis,+ autoTimeValueAxis,++ days, months, years,++ ) where++import Data.Default.Class+#if MIN_VERSION_time(1,5,0)+import Data.Time hiding (months)+#else+import Data.Time+import System.Locale (defaultTimeLocale)+#endif+import Data.Fixed+import Control.Lens++import Graphics.Rendering.Chart.Axis.Types+import Graphics.Rendering.Chart.Geometry (Range)++-- | A typeclass abstracting the functions we need+-- to be able to plot against an axis of time type @d@.+class TimeValue t where+ utctimeFromTV :: t -> UTCTime+ tvFromUTCTime :: UTCTime -> t++ {-# MINIMAL utctimeFromTV, tvFromUTCTime #-}++ doubleFromTimeValue :: t -> Double+ doubleFromTimeValue = doubleFromTimeValue . utctimeFromTV++ timeValueFromDouble :: Double -> t+ timeValueFromDouble = tvFromUTCTime . timeValueFromDouble++instance TimeValue UTCTime where+ utctimeFromTV = id+ tvFromUTCTime = id+ doubleFromTimeValue = doubleFromUTCTime+ timeValueFromDouble = utcTimeFromDouble++instance TimeValue Day where+ utctimeFromTV d = UTCTime d 0+ tvFromUTCTime = utctDay+ doubleFromTimeValue = doubleFromDay+ timeValueFromDouble = dayFromDouble++instance TimeValue LocalTime where+ utctimeFromTV (LocalTime d tod) = UTCTime d (timeOfDayToTime tod)+ tvFromUTCTime (UTCTime d dt) = LocalTime d (timeToTimeOfDay dt)++----------------------------------------------------------------------++instance PlotValue LocalTime where+ toValue = doubleFromTimeValue+ fromValue = timeValueFromDouble+ autoAxis = autoTimeValueAxis++instance PlotValue UTCTime where+ toValue = doubleFromTimeValue+ fromValue = timeValueFromDouble+ autoAxis = autoTimeValueAxis++instance PlotValue Day where+ toValue = doubleFromTimeValue+ fromValue = timeValueFromDouble+ autoAxis = autoTimeValueAxis++----------------------------------------------------------------------++-- | Map a UTCTime value to a plot coordinate.+doubleFromUTCTime :: UTCTime -> Double+doubleFromUTCTime ut = fromIntegral (toModifiedJulianDay (utctDay ut))+ + fromRational (timeOfDayToDayFraction (timeToTimeOfDay (utctDayTime ut)))++-- | Map a plot coordinate to a UTCTime.+utcTimeFromDouble :: Double -> UTCTime+utcTimeFromDouble v =+ UTCTime (ModifiedJulianDay i) (timeOfDayToTime (dayFractionToTimeOfDay (toRational d)))+ where+ (i,d) = properFraction v++-- | Map a Day value to a plot coordinate.+doubleFromDay :: Day -> Double+doubleFromDay d = fromIntegral (toModifiedJulianDay d)++-- | Map a plot coordinate to a Day.+dayFromDouble :: Double -> Day+dayFromDouble v = ModifiedJulianDay (truncate v)++----------------------------------------------------------------------++-- | TimeSeq is a (potentially infinite) set of times. When passed+-- a reference time, the function returns a a pair of lists. The first+-- contains all times in the set less than the reference time in+-- decreasing order. The second contains all times in the set greater+-- than or equal to the reference time, in increasing order.+type TimeSeq = UTCTime -> ([UTCTime],[UTCTime])++coverTS :: TimeSeq -> UTCTime -> UTCTime -> [UTCTime]+coverTS tseq minT maxT = min' ++ enumerateTS tseq minT maxT ++ max'+ where+ min' = if elemTS minT tseq then [] else take 1 (fst (tseq minT))+ max' = if elemTS maxT tseq then [] else take 1 (snd (tseq maxT))++enumerateTS :: TimeSeq -> UTCTime -> UTCTime -> [UTCTime]+enumerateTS tseq minT maxT =+ reverse (takeWhile (>=minT) ts1) ++ takeWhile (<=maxT) ts2+ where+ (ts1,ts2) = tseq minT++elemTS :: UTCTime -> TimeSeq -> Bool+elemTS t tseq = case tseq t of+ (_,t0:_) | t == t0 -> True+ _ -> False++-- | How to display a time+type TimeLabelFn = UTCTime -> String++data TimeLabelAlignment = UnderTicks+ | BetweenTicks+ deriving (Show)++-- | Create an 'AxisFn' to for a time axis.+--+-- The values to be plotted against this axis can be created with+-- 'doubleFromLocalTime'.+--+-- Implementation detail: 'PlotValue' constraint is needed to use `vmap`.+timeValueAxis ::+ TimeValue t+ => TimeSeq+ -- ^ Set the minor ticks, and the final range will be aligned to its+ -- elements.+ -> TimeSeq+ -- ^ Set the labels and grid.+ -> TimeLabelFn+ -> TimeLabelAlignment+ -> TimeSeq+ -- ^ Set the second line of labels.+ -> TimeLabelFn+ -- ^ Format @t@ for labels.+ -> TimeLabelAlignment+ -> AxisFn t+timeValueAxis tseq lseq labelf lal cseq contextf clal pts = AxisData {+ _axis_visibility = def,+ _axis_viewport = vmap' (min', max'),+ _axis_tropweiv = invmap' (min', max'),+ _axis_ticks = [ (tvFromUTCTime t,2) | t <- times] ++ [ (tvFromUTCTime t,5) | t <- ltimes, visible t],+ _axis_labels = [ [ (tvFromUTCTime t,l) | (t,l) <- labels labelf ltimes lal, visible t]+ , [ (tvFromUTCTime t,l) | (t,l) <- labels contextf ctimes clal, visible t]+ ],+ _axis_grid = [ tvFromUTCTime t | t <- ltimes, visible t]+ }+ where+ (minT,maxT) = case pts of+ [] -> (refTimeValue,refTimeValue)+ ps -> (minimum (map utctimeFromTV ps), maximum (map utctimeFromTV ps))+ refTimeValue = timeValueFromDouble 0++ times, ltimes, ctimes :: [UTCTime]+ times = coverTS tseq minT maxT+ ltimes = coverTS lseq minT maxT+ ctimes = coverTS cseq minT maxT+ min' = minimum times+ max' = maximum times+ visible t = min' <= t && t <= max'+ labels f ts lal' =+ [ (align lal' m1' m2', f m1)+ | (m1,m2) <- zip ts (tail ts)+ , let m1' = if m1<min' then min' else m1+ , let m2' = if m2>max' then max' else m2 ]++ align BetweenTicks m1 m2 = avg m1 m2+ align UnderTicks m1 _ = m1++ avg m1 m2 = timeValueFromDouble $ m1' + (m2' - m1')/2+ where+ m1' = doubleFromTimeValue m1+ m2' = doubleFromTimeValue m2++vmap' :: TimeValue x => (UTCTime,UTCTime) -> Range -> x -> Double+vmap' (v1,v2) (v3,v4) v = v3 + (doubleFromTimeValue v - doubleFromTimeValue v1) * (v4-v3)+ / (doubleFromTimeValue v2 - doubleFromTimeValue v1)++invmap' :: TimeValue x => (UTCTime,UTCTime) -> Range -> Double -> x+invmap' (v3,v4) (d1,d2) d = timeValueFromDouble (doubleFromTimeValue v3 + ( (d-d1) * doubleRange+ / (d2-d1) ))+ where doubleRange = doubleFromTimeValue v4 - doubleFromTimeValue v3++truncateTo :: Real a => a -> a -> a+truncateTo t step = t - t `mod'` step++secondSeq :: NominalDiffTime -> TimeSeq+secondSeq step t@(UTCTime day dt) = (iterate rev t1, tail (iterate fwd t1))+ where t0 = UTCTime day (truncateTo dt step')+ t1 = if t0 < t then t0 else rev t0+ rev = addUTCTime (negate step)+ fwd = addUTCTime step+ step' = realToFrac step++millis1, millis10, millis100, seconds, fiveSeconds :: TimeSeq+millis1 = secondSeq (1 / 1000)+millis10 = secondSeq (1 / 100)+millis100 = secondSeq (1 / 10)+seconds = secondSeq 1+fiveSeconds = secondSeq 5++minutes, fiveMinutes :: TimeSeq+minutes = secondSeq 60+fiveMinutes = secondSeq (5 * 60)++-- | A 'TimeSeq' for hours.+hours :: TimeSeq+hours = secondSeq (60 * 60)++-- | A 'TimeSeq' for calendar days.+days :: TimeSeq+days t = (map toTime $ iterate rev t1, map toTime $ tail (iterate fwd t1))+ where t0 = utctDay t+ t1 = if toTime t0 < t then t0 else rev t0+ rev = pred+ fwd = succ+ toTime d = UTCTime d 0++-- | A 'TimeSeq' for calendar months.+months :: TimeSeq+months t = (map toTime $ iterate rev t1, map toTime $ tail (iterate fwd t1))+ where t0 = let (y,m,_) = toGregorian $ utctDay t in fromGregorian y m 1+ t1 = if toTime t0 < t then t0 else rev t0+ rev = addGregorianMonthsClip (-1)+ fwd = addGregorianMonthsClip 1+ toTime d = UTCTime d 0++-- | A 'TimeSeq' for calendar years.+years :: TimeSeq+years t = (map toTime $ iterate rev t1, map toTime $ tail (iterate fwd t1))+ where t0 = toGregorian (utctDay t) ^. _1+ t1 = if toTime t0 < t then t0 else rev t0+ rev = pred+ fwd = succ+ toTime y = UTCTime (fromGregorian y 1 1) 0++-- | A 'TimeSeq' for no sequence at all.+noTime :: TimeSeq+noTime _ = ([],[])++-- | Automatically choose a suitable time axis, based upon the time range+-- of data. The values to be plotted against this axis can be created+-- with 'doubleFromTimeValue'.+autoTimeValueAxis :: TimeValue t => AxisFn t+autoTimeValueAxis pts+ | null pts = timeValueAxis days days (ft "%d-%b-%y") UnderTicks+ noTime (ft "") UnderTicks []+ | 100*dsec<1 = timeValueAxis millis1 millis1 (ft "%S%Q") UnderTicks+ noTime (ft "%S%Q") UnderTicks pts+ | 10*dsec<1 = timeValueAxis millis10 millis10 (ft "%S%Q") UnderTicks+ noTime (ft "%S%Q") UnderTicks pts+ | dsec<1 = timeValueAxis millis10 millis100 (ft "%S%Q") UnderTicks+ seconds (ft "%M:%S") BetweenTicks pts+ | dsec<5 = timeValueAxis millis100 seconds (ft "%M:%S%Q") UnderTicks+ seconds (ft "%M:%S") BetweenTicks pts+ | dsec<32 = timeValueAxis seconds seconds (ft "%Ss") UnderTicks+ minutes (ft "%d-%b-%y %H:%M") BetweenTicks pts+ | dsec<120 = timeValueAxis seconds fiveSeconds (ft "%Ss") UnderTicks+ minutes (ft "%d-%b-%y %H:%M") BetweenTicks pts+ | dsec<7*60 = timeValueAxis fiveSeconds minutes (ft "%Mm") UnderTicks+ hours (ft "%d-%b-%y %H:00") BetweenTicks pts+ | dsec<32*60 = timeValueAxis minutes minutes (ft "%Mm") UnderTicks+ hours (ft "%d-%b-%y %H:00") BetweenTicks pts+ | dsec<90*60 = timeValueAxis minutes fiveMinutes (ft "%Mm") UnderTicks+ hours (ft "%d-%b-%y %H:00") BetweenTicks pts+ | dsec<4*3600 = timeValueAxis fiveMinutes hours (ft "%H:%M") UnderTicks+ days (ft "%d-%b-%y") BetweenTicks pts+ | dsec<32*3600 = timeValueAxis hours hours (ft "%H:%M") UnderTicks+ days (ft "%d-%b-%y") BetweenTicks pts+ | dday<4 = timeValueAxis hours days (ft "%d-%b-%y") BetweenTicks+ noTime (ft "") BetweenTicks pts+ | dday<12 = timeValueAxis days days (ft "%d-%b") BetweenTicks+ years (ft "%Y") BetweenTicks pts+ | dday<45 = timeValueAxis days days (ft "%d") BetweenTicks+ months (ft "%b-%y") BetweenTicks pts+ | dday<95 = timeValueAxis days months (ft "%b-%y") BetweenTicks+ noTime (ft "") BetweenTicks pts+ | dday<450 = timeValueAxis months months (ft "%b-%y") BetweenTicks+ noTime (ft "") BetweenTicks pts+ | dday<735 = timeValueAxis months months (ft "%b") BetweenTicks+ years (ft "%Y") BetweenTicks pts+ | dday<1800 = timeValueAxis months years (ft "%Y") BetweenTicks+ noTime (ft "") BetweenTicks pts+ | otherwise = timeValueAxis years years (ft "%Y") BetweenTicks+ noTime (ft "") BetweenTicks pts+ where+ upts = map utctimeFromTV pts+ dsec = diffUTCTime t1 t0 -- seconds+ dday = dsec / 86400 -- days+ t1 = maximum upts+ t0 = minimum upts+ ft = formatTime defaultTimeLocale
Graphics/Rendering/Chart/Axis/Unit.hs view
@@ -5,6 +5,7 @@ -- License : BSD-style (see chart/COPYRIGHT) -- -- Calculate and render unit indexed axes+{-# OPTIONS_GHC -fno-warn-orphans #-} module Graphics.Rendering.Chart.Axis.Unit( unitAxis,
Graphics/Rendering/Chart/Layout.hs view
@@ -18,6 +18,7 @@ -- -- * 'LayoutAxis' --+{-# LANGUAGE CPP #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE ExistentialQuantification #-}@@ -96,6 +97,10 @@ , slayouts_compress_legend ) where +#if !MIN_VERSION_base(4,8,0)+import Control.Applicative ((<$>))+#endif+ import Graphics.Rendering.Chart.Axis import Graphics.Rendering.Chart.Geometry import Graphics.Rendering.Chart.Drawing@@ -109,6 +114,7 @@ import Data.Colour import Data.Colour.Names (white) import Data.Default.Class+import Data.Maybe (fromMaybe) -- | A @MAxisFn@ is a function that generates an (optional) axis -- given the points plotted against that axis.@@ -212,13 +218,19 @@ layoutToGrid :: forall x y . (Ord x, Ord y) => Layout x y -> Grid (Renderable (LayoutPick x y y)) layoutToGrid l = grid where- grid = titleToRenderable lm (_layout_title_style l) (_layout_title l)- `wideAbove`- addMarginsToGrid (lm,lm,lm,lm) (layoutPlotAreaToGrid l)- `aboveWide` - renderLegend l (getLegendItems l)+ lp :: Grid a -> a -> Grid a+ lp = case fromMaybe LegendBelow $ _legend_position <$> _layout_legend l of+ LegendAbove -> flip wideAbove+ LegendBelow -> aboveWide+ LegendRight -> besideTall+ LegendLeft -> flip tallBeside++ title = titleToRenderable lm (_layout_title_style l) (_layout_title l)+ plotArea = addMarginsToGrid (lm,lm,lm,lm) (layoutPlotAreaToGrid l)+ legend = renderLegend l (getLegendItems l)+ grid = title `wideAbove` (plotArea `lp` legend) lm = _layout_margin l- + getLayoutXVals :: Layout x y -> [x] getLayoutXVals l = concatMap (fst . _plot_all_points) (_layout_plots l)
Graphics/Rendering/Chart/Legend.hs view
@@ -12,11 +12,13 @@ Legend(..), LegendStyle(..), LegendOrientation(..),+ LegendPosition(..), legendToRenderable, legend_label_style, legend_margin, legend_plot_size,- legend_orientation+ legend_orientation,+ legend_position ) where import Data.List (partition,intersperse)@@ -35,7 +37,8 @@ _legend_label_style :: FontStyle, _legend_margin :: Double, _legend_plot_size :: Double,- _legend_orientation :: LegendOrientation+ _legend_orientation :: LegendOrientation,+ _legend_position :: LegendPosition } -- | Legends can be constructed in two orientations: in rows@@ -43,8 +46,13 @@ -- columns (where we specify the maximum number of rows) data LegendOrientation = LORows Int | LOCols Int- +-- | Defines the position of the legend, relative to the plot.+data LegendPosition = LegendAbove+ | LegendBelow+ | LegendRight+ | LegendLeft+ data Legend x y = Legend LegendStyle [(String, Rect -> BackendProgram ())] instance ToRenderable (Legend x y) where@@ -83,7 +91,7 @@ rp :: (Rect -> BackendProgram ()) -> Grid (Renderable String) rp rfn = tval Renderable { minsize = return (_legend_plot_size ls, 0),- render = \(w,h) -> do + render = \(w,h) -> do _ <- rfn (Rect (Point 0 0) (Point w h)) return (\_-> Just title) }@@ -93,7 +101,7 @@ ggap2 = tval $ spacer1 (lbl "X") lbl :: String -> Renderable String- lbl = label (_legend_label_style ls) HTA_Left VTA_Centre + lbl = label (_legend_label_style ls) HTA_Left VTA_Centre groups :: Int -> [a] -> [[a]] groups _ [] = []@@ -105,11 +113,12 @@ join_nub [] = [] instance Default LegendStyle where- def = LegendStyle + def = LegendStyle { _legend_label_style = def , _legend_margin = 20 , _legend_plot_size = 20 , _legend_orientation = LORows 4+ , _legend_position = LegendBelow } $( makeLenses ''LegendStyle )
Graphics/Rendering/Chart/Plot/Vectors.hs view
@@ -6,6 +6,7 @@ -- -- Vector plots --+{-# LANGUAGE CPP #-} {-# LANGUAGE TemplateHaskell #-} module Graphics.Rendering.Chart.Plot.Vectors(@@ -24,7 +25,9 @@ import Control.Lens import Control.Monad+#if !MIN_VERSION_base(4,8,0) import Control.Applicative+#endif import Data.Tuple import Data.Colour hiding (over) import Data.Colour.Names
Graphics/Rendering/Chart/Renderable.hs view
@@ -8,6 +8,7 @@ -- is a composable drawing element, along with assorted functions to -- them. --+{-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE TemplateHaskell #-} module Graphics.Rendering.Chart.Renderable(@@ -69,10 +70,14 @@ -- The resulting "pick" function maps a point in the image to a value. render :: RectSize -> BackendProgram (PickFn a) }+ deriving (Functor) -- | A type class abtracting the conversion of a value to a Renderable. class ToRenderable a where toRenderable :: a -> Renderable ()++instance ToRenderable (Renderable a) where+ toRenderable = void emptyRenderable :: Renderable a emptyRenderable = spacer (0,0)