# Copyright (c) 2025-2026 Gigasoft, Inc. All rights reserved. === ProEssentials SpecificPlotMode (knowledge rev 4) (Multi-Subset Plotting Methods) === SpecificPlotMode is for plotting methods that consume multiple subsets as a single visual unit (e.g., candlestick, OHLC, high-low bars/lines/areas). TWO WAYS TO USE MULTI-SUBSET PLOTTING METHODS: WAY 1 -- GLOBAL (via Method + SpecificPlotMode property): chart.PePlot.Method = GraphPlottingMethod.SpecificPlotMode; // Pego chart.PePlot.Method = SGraphPlottingMethod.SpecificPlotMode; // Pesgo chart.PePlot.SpecificPlotMode = SpecificPlotMode.BoxPlot; The SpecificPlotMode consumes the FIRST N subsets in the axis group. Additional subsets are drawn via MethodII (ComparisonSubsets controls count). WorkingAxis-dependent: each axis can have its own SpecificPlotMode type. WAY 2 -- PER-SUBSET (via Methods[] array): chart.PePlot.Methods[0] = GraphPlottingMethods.OpenHighLowClose; // Pego chart.PePlot.Methods[1] = GraphPlottingMethods.OpenHighLowClose; chart.PePlot.Methods[2] = GraphPlottingMethods.OpenHighLowClose; chart.PePlot.Methods[3] = GraphPlottingMethods.OpenHighLowClose; chart.PePlot.Methods[4] = GraphPlottingMethods.Line; // overlay Tag ALL subsets that belong to the multi-subset group. They MUST be consecutive and in the correct data order (see table below). Note the plural enum: GraphPlottingMethods (not GraphPlottingMethod). For Pesgo: SGraphPlottingMethods. Can combine with OnRightAxis(+1000), etc. See pe-mixing-methods-xaxis knowledge file for Methods[] details. SUBSET DATA ORDER (zero-based, line portion renders first): Mode | Subsets | [0] [1] [2] [3] HighLowBar (1) | 2 | LineStart LineEnd HighLowLine (2) | 2 | LineStart LineEnd HighLowClose (3) | 3 | LineStart LineEnd Close OpenHighLowClose(4)| 4 | LineStart LineEnd Open Close BoxPlot (5) | 4 | LineStart LineEnd BoxStart BoxEnd HighLowArea (6) | 2 | Upper Lower For financial data: LineStart=High, LineEnd=Low, Open/BoxStart=Open, Close/BoxEnd=Close. The line (wick) is always rendered first. VISUAL DIFFERENCE -- BoxPlot vs OpenHighLowClose: BoxPlot = Candlestick chart. Filled/colored box body between Open and Close. Box color reflects polarity: one color when Close > Open (bullish), another when Close < Open (bearish). Controlled by SpecificPlotModeColor. OpenHighLowClose = Traditional OHLC tick chart. Left tick = Open, right tick = Close. No filled body. COMPARISONSUBSETS WITH SPECIFICPLOTMODE (Way 1 only): When Method = SpecificPlotMode, the mode consumes the first subsets. ComparisonSubsets designates the LAST N subsets in the axis group to be drawn with MethodII instead. If MethodII is not explicitly set, it defaults to Line (value 0 in GraphPlottingMethodII / SGraphPlottingMethodII). Example (030): Axis 0 has 7 subsets, ComparisonSubsets=3, BoxPlot mode. Subsets 0-3 --> BoxPlot (OHLC data), Subsets 4-6 --> Line overlays (Bollinger, SMA). VISUAL PROPERTIES: SpecificPlotModeColor (bool): Enables multi-colored rendering. When TRUE, SubsetColors control the colors: SubsetColors[0] = line/wick color SubsetColors[2] = bearish color (Close < Open, typically red) SubsetColors[3] = bullish color (Close > Open, typically green) When FALSE, single-colored rendering. SpecificPlotModeGradient (enum): None(0), Bar(1), Glass(2). Gradient on candlestick body or high-low bar fills. SpecificPlotModeBorder (int, default 4): Pixel width threshold. If candle or high-low-bar is wider than this, a border is drawn on the body. OhlcMinWidth (int, default 16, range 1-30): Minimum width of open/close tick marks in OHLC chart. Logical units. HIGHLOWAREA SPECIFICS: Two subsets define upper and lower boundaries. Area is shaded between them. Color behavior: If subset[0] > subset[1], uses SubsetColors[0]. If subset[1] > subset[0] (inverted), uses SubsetColors[1]. Intersection points are interpolated for smooth color transitions. ComparisonSubsets adds overlay line/spline subsets on top. QUERY REFERENCE: pe_query.py enum "SpecificPlotMode" pe_query.py enum "GraphPlottingMethods" (per-subset, includes SPM types) pe_query.py enum "SGraphPlottingMethods" (Pesgo per-subset) pe_query.py props "SpecificPlotMode,SpecificPlotModeColor" pe_query.py props "ComparisonSubsets,MethodII"