timeplot 1.0.15 → 1.0.16
raw patch · 3 files changed
+13/−9 lines, 3 files
Files
- Tools/TimePlot.hs +1/−1
- Tools/TimePlot/Render.hs +11/−7
- timeplot.cabal +1/−1
Tools/TimePlot.hs view
@@ -73,7 +73,7 @@ let plots = I.runStreamSummary (I.byKey initPlot) eventsToTracks -- Render- return $ renderLayout1sStacked $ map (dataToPlot commonTimeAxis) (M.elems plots)+ return $ renderLayout1sStacked $ map (dataToPlot commonTimeAxis (minOutTime,maxOutTime)) (M.elems plots) showHelp = mapM_ putStrLn [ "", "tplot - a tool for drawing timing diagrams.",
Tools/TimePlot/Render.hs view
@@ -22,21 +22,21 @@ (map (map (\(x,lab) -> (f' x, lab))) labels) (map f' grid) -dataToPlot :: AxisData LocalTime -> PlotData -> AnyLayout1 LocalTime -dataToPlot commonTimeAxis p@PlotBarsData{} = withAnyOrdinate $ layoutWithTitle commonTimeAxis [plotBars plot] (plotName p) (length (barsTitles p) > 1) +dataToPlot :: AxisData LocalTime -> (LocalTime,LocalTime) -> PlotData -> AnyLayout1 LocalTime +dataToPlot commonTimeAxis tr p@PlotBarsData{} = withAnyOrdinate $ layoutWithTitle commonTimeAxis tr [plotBars plot] (plotName p) (length (barsTitles p) > 1) where plot = plot_bars_values ^= barsValues p $ plot_bars_item_styles ^= barsStyles p $ plot_bars_style ^= barsStyle p $ plot_bars_titles ^= barsTitles p $ ourPlotBars -dataToPlot commonTimeAxis p@PlotEventData{} = withAnyOrdinate $ layoutWithTitle commonTimeAxis [toPlot plot] (plotName p) False +dataToPlot commonTimeAxis tr p@PlotEventData{} = withAnyOrdinate $ layoutWithTitle commonTimeAxis tr [toPlot plot] (plotName p) False where plot = plot_event_data ^= eventData p $ plot_event_long_fillstyle ^= toFillStyle $ plot_event_label ^= toLabel $ defaultPlotEvent toFillStyle s = solidFillStyle . opaque $ fromMaybe lightgray (readColourName (statusColor s)) toLabel s = statusLabel s -dataToPlot commonTimeAxis p@PlotLinesData{} = withAnyOrdinate $ layoutWithTitle commonTimeAxis (map toPlot plots) (plotName p) (length (linesData p) > 1) +dataToPlot commonTimeAxis tr p@PlotLinesData{} = withAnyOrdinate $ layoutWithTitle commonTimeAxis tr (map toPlot plots) (plotName p) (length (linesData p) > 1) where plots = [plot_lines_values ^= [vs] $ plot_lines_title ^= title $ plot_lines_style ^= lineStyle $ @@ -44,7 +44,7 @@ | vs <- linesData p | title <- linesTitles p | lineStyle <- linesStyles p] -dataToPlot commonTimeAxis p@PlotDotsData{} = withAnyOrdinate $ layoutWithTitle commonTimeAxis (map toPlot plots) (plotName p) (length (dotsData p) > 1) +dataToPlot commonTimeAxis tr p@PlotDotsData{} = withAnyOrdinate $ layoutWithTitle commonTimeAxis tr (map toPlot plots) (plotName p) (length (dotsData p) > 1) where plots = [plot_points_values ^= vs $ plot_points_style ^= hollowCircles 4 1 color $ plot_points_title ^= subtrack $ @@ -53,17 +53,21 @@ | color <- dotsColors p | vs <- dotsData p] -layoutWithTitle :: (PlotValue a) => AxisData LocalTime -> [Plot LocalTime a] -> String -> Bool -> Layout1 LocalTime a -layoutWithTitle commonTimeAxis plots name showLegend = +-- TODO generate left axis from data fitting into t0..t1 +layoutWithTitle :: (PlotValue a) => AxisData LocalTime -> (LocalTime, LocalTime) -> [Plot LocalTime a] -> String -> Bool -> Layout1 LocalTime a +layoutWithTitle commonTimeAxis (t0,t1) plots name showLegend = layout1_title ^= "" $ layout1_plots ^= map Left plots $ (if showLegend then id else (layout1_legend ^= Nothing)) $ layout1_bottom_axis .> laxis_generate ^= (\_ -> commonTimeAxis) $ layout1_top_axis .> laxis_generate ^= (\_ -> commonTimeAxis) $ layout1_left_axis .> laxis_title ^= name $ + layout1_left_axis .> laxis_generate ^= (\_ -> autoAxis visibleValues) $ layout1_margin ^= 0 $ layout1_grid_last ^= True $ defaultLayout1 + where + visibleValues = [a | p <- plots, (t,a) <- uncurry zip $ plot_all_points_ p, t >= t0 && t <= t1] ourPlotBars :: (BarsPlotValue a) => PlotBars LocalTime a ourPlotBars = plot_bars_spacing ^= BarsFixGap 0 0 $
timeplot.cabal view
@@ -1,5 +1,5 @@ name: timeplot-version: 1.0.15+version: 1.0.16 cabal-version: >=1.6 build-type: Simple license: BSD3