ENH use style objects for plots

This commit is contained in:
Nathan Dwarshuis 2021-07-11 14:48:51 -04:00
parent 340aab3548
commit 4e1ee6936e
3 changed files with 72 additions and 29 deletions

2
core

@ -1 +1 @@
Subproject commit ace2721d47aa659fe00ac0b2bdc4d5a1f578405e Subproject commit baf94bef542099065d73c268bfb8ff0ae96908b9

View File

@ -1,5 +1,6 @@
local M = {} local M = {}
local Util = require 'Util'
local Arc = require 'Arc' local Arc = require 'Arc'
local Text = require 'Text' local Text = require 'Text'
local CriticalText = require 'CriticalText' local CriticalText = require 'CriticalText'
@ -116,19 +117,41 @@ end
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
-- label plot -- label plot
M.initThemedLabelPlot = function(x, y, w, h) M.default_grid_style = _G_Widget_.grid_style(9, 4, _G_Patterns_.BORDER_FG)
return _G_Widget_.LabelPlot{
x = x, M.default_plot_style = _G_Widget_.plot_style(
y = y, 90,
width = w, _G_Patterns_.BORDER_FG,
height = h, _G_Patterns_.PLOT_FILL_BORDER_PRIMARY,
outline_pattern = _G_Patterns_.BORDER_FG, _G_Patterns_.PLOT_FILL_BG_PRIMARY,
intrvl_pattern = _G_Patterns_.BORDER_FG, M.default_grid_style
data_line_pattern = _G_Patterns_.PLOT_FILL_BORDER_PRIMARY, )
data_fill_pattern = _G_Patterns_.PLOT_FILL_BG_PRIMARY,
label_color = _G_Patterns_.INACTIVE_TEXT_FG, M.percent_label_style = _G_Widget_.label_style(
label_font_spec = M.label_font_spec, _G_Patterns_.INACTIVE_TEXT_FG,
} M.label_font_spec,
function(z) return Util.round_to_string(z * 100)..'%' end,
1
)
M.initThemedLabelPlot = function(x, y, w, h, label_style)
-- return _G_Widget_.LabelPlot{
-- x = x,
-- y = y,
-- width = w,
-- height = h,
-- outline_pattern = _G_Patterns_.BORDER_FG,
-- intrvl_pattern = _G_Patterns_.BORDER_FG,
-- data_line_pattern = _G_Patterns_.PLOT_FILL_BORDER_PRIMARY,
-- data_fill_pattern = _G_Patterns_.PLOT_FILL_BG_PRIMARY,
-- label_color = _G_Patterns_.INACTIVE_TEXT_FG,
-- label_font_spec = M.label_font_spec,
-- }
return _G_Widget_.LabelPlot(
_G_Widget_.make_box(_G_Widget_.make_point(x, y), w, h),
M.default_plot_style,
label_style
)
end end
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -166,7 +189,13 @@ M.initPercentPlot = function(x, y, w, h, spacing, label)
-- critical_color = _G_Patterns_.PRIMARY_FG, -- critical_color = _G_Patterns_.PRIMARY_FG,
-- font_spec = M.normal_font_spec, -- font_spec = M.normal_font_spec,
-- }, -- },
plot = M.initThemedLabelPlot(x, y + spacing, w, h), plot = M.initThemedLabelPlot(
x,
y + spacing,
w,
h,
M.percent_label_style
),
} }
end end
@ -188,20 +217,33 @@ end
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
-- scaled plot -- scaled plot
M.base_2_scale_data = _G_Widget_.scale_data(2, 1, 0.9)
M.initThemedScalePlot = function(x, y, w, h, f) M.initThemedScalePlot = function(x, y, w, h, f)
return _G_Widget_.ScalePlot{ -- return _G_Widget_.ScalePlot{
x = x, -- x = x,
y = y, -- y = y,
width = w, -- width = w,
height = h, -- height = h,
y_label_func = f, -- y_label_func = f,
outline_pattern = _G_Patterns_.BORDER_FG, -- outline_pattern = _G_Patterns_.BORDER_FG,
intrvl_pattern = _G_Patterns_.BORDER_FG, -- intrvl_pattern = _G_Patterns_.BORDER_FG,
data_line_pattern = _G_Patterns_.PLOT_FILL_BORDER_PRIMARY, -- data_line_pattern = _G_Patterns_.PLOT_FILL_BORDER_PRIMARY,
data_fill_pattern = _G_Patterns_.PLOT_FILL_BG_PRIMARY, -- data_fill_pattern = _G_Patterns_.PLOT_FILL_BG_PRIMARY,
label_color = _G_Patterns_.INACTIVE_TEXT_FG, -- label_color = _G_Patterns_.INACTIVE_TEXT_FG,
label_font_spec = M.label_font_spec, -- label_font_spec = M.label_font_spec,
} -- }
return _G_Widget_.ScalePlot(
_G_Widget_.make_box(_G_Widget_.make_point(x, y), w, h),
M.default_plot_style,
_G_Widget_.label_style(
_G_Patterns_.INACTIVE_TEXT_FG,
M.label_font_spec,
f,
1
),
M.base_2_scale_data
)
end end
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@ -171,7 +171,8 @@ local plot = Common.initThemedLabelPlot(
_G_INIT_DATA_.RIGHT_X, _G_INIT_DATA_.RIGHT_X,
_PLOT_Y_, _PLOT_Y_,
_G_INIT_DATA_.SECTION_WIDTH, _G_INIT_DATA_.SECTION_WIDTH,
_PLOT_HEIGHT_ _PLOT_HEIGHT_,
Common.percent_label_style
) )
local tbl = Common.initTable( local tbl = Common.initTable(