This shows examples of LinePlot, AreaChart, ScatterPlot (standard and expression mode), Path, and CumPlot.
A linechart with custom colors for products. There are optional controls to change the variables on the x and or y axis. It is also possible to change the faceting, the grouping variable, the aggregation variable (if there are multiple y values per x value) as well as filters. Try the Y Transform dropdown — in addition to log, z-score, cumulative, etc., there are smoothing transforms: EWMA (exponentially weighted moving average), EWMSTD (exponentially weighted moving standard deviation), and SMA (simple moving average). Each smoothing option shows a parameter input for weight or window size. See here for LineChart examples
Data: sales_data.parquet
Stacked Trends. See here for AreaChart examples
Data: sales_data.parquet
Scatter plots show x vs y. There is a density colouring that can be applied or not depending on a slider. In addition the marginal distributions appear on the edges of the plot in cases when you do not apply faceting. See here for ScatterPlot examples
Data: sales_data.parquet
Expression mode allows typing custom formulas for the X axis. Available functions:
z(expr, [groups]) - Z-score within groups (e.g., z(:profit, [:product]))q(expr, [groups]) - Quantile rank (0-1) within groupsr(y, x) - OLS residual (y minus fitted value from regressing y on x)f(y, x) - OLS fitted value (predicted y from regressing y on x)PCA1(:v1, :v2) / PCA2(:v1, :v2) - Principal component projectionsc(expr, min, max) - Clamp values between min and max (use Inf/-Inf for one-sided bounds):profit + :sales, z(:profit, [:product, :region]), r(:profit, :sales), c(:profit, -500, 500)
:varname or varname+ - * /z(expr, [groups]) |
Z-score (standardize) within groups. Example: z(:returns, [:sector, :date]) |
q(expr, [groups]) |
Quantile rank (0-1) within groups. Example: q(:returns, [:sector]) |
PCA1(:v1, :v2) |
Project onto first principal component of v1 and v2 |
PCA2(:v1, :v2) |
Project onto second principal component of v1 and v2 |
r(y, x) |
OLS residual: y minus fitted value from regressing y on x |
f(y, x) |
OLS fitted value: predicted y from regressing y on x |
c(expr, min, max) |
Clamp values between min and max. Use Inf/-Inf for one-sided bounds. Example: c(:returns, -0.05, 0.05) |
:returns + :volatility
z(:returns, [:sector])
c(:vol, -Inf, 0.5)
Data: sales_data.parquet
A Path chart shows trajectories through metric space over time. This example uses business data (Sales/Cost/Profit by Product/Region/Segment over 12 months) - the same dataset that will be used later in the Slides examples. Each path traces how a product's metrics evolve month-by-month. By default, it shows the North region and Consumer segment, with paths colored by Product. Use the filters to explore different regions and segments. The arrows and alpha gradient show the direction of time progression. See here for Path examples
Data: business_path_data.parquet
CumPlot compares cumulative performance of multiple strategies over time. All lines are normalized to start at 1 at the selected start date. Custom colors for asset_class (Equities=blue, Fixed Income=red). See here for CumPlot examples
Data: strategy_data.parquet