makes a line break chart with prices pi at date datei.


makes a line break chart of closing prices for the financial entity "name" over the date range daterange.


makes a line break chart where n bars in a row cause a reversal.

Details and Options

  • LineBreakChart displays as a series of vertical bars where multiple prices may be included in a single bar, in which the price trend is accentuated.
  • LineBreakChart[{{,p1},{,p2},},n] considers previous prices for dates. If the previous prices have been increasing , then draw a new up bar if and a new down bar if ; otherwise, do not draw a new bar. This works similarly for decreasing prices. If there is no sequence of increasing or decreasing prices of length , the rule applies to the two previous prices.
  • LineBreakChart[] is equivalent to LineBreakChart[,3] for a three-line break chart.
  • The dates datei are considered an ordered sequence of events and are not shown on an absolute time scale.
  • The date formats for datei are the same as used in DateListPlot.
  • The "name" and daterange are the same as used in FinancialData.
  • Data elements for LineBreakChart can be given in the following forms:
  • {datei,pi}a pure date and price pair
    {datei,Quantity[pi,ui]}a date price with a unit
    wi[{datei,pi},]a date price and wrapper wi
    formi->mia date price with metadata mi
  • A bar may represent several date-price pairs, and the corresponding wrappers will apply to the entire bar.
  • Data not given in these forms is taken to be missing and typically is excluded when generating the chart.
  • Data for LineBreakChart can be given in the following forms:
  • {e1,e2,},{"name",daterange}data without overall wrapper
    TimeSeries[],EventSeries[],TemporalData[]time series, event series, and temporal data
    w[{e1,e2,}],w[{"name",daterange}]data with overall wrapper
  • The following wrappers can be used for data elements:
  • Annotation[e,label]provide an annotation
    Button[e,action]define an action to execute when the element is clicked
    EventHandler[e,]define a general event handler for the element
    Hyperlink[e,uri]make the element act as a hyperlink
    Labeled[e,]display the element with labeling
    PopupWindow[e,cont]attach a popup window to the element
    StatusArea[e,label]display in the status area when the element is moused over
    Style[e,opts]show the element using the specified styles
    Tooltip[e,label]attach an arbitrary tooltip to the element
  • In LineBreakChart, Labeled and Placed allow the following positions:
  • Top,Bottom,Left,Right,Centerpositions within bar
    Above, Below, Before, Afterpositions outside bar
    {{bx,by},{lx,ly}}scaled position {lx,ly} in the label at scaled position {bx,by} in the bar
  • LineBreakChart has the same options as Graphics with the following additions and changes:
  • AspectRatio1/GoldenRatiooverall ratio of height to width
    AxesTruewhether to draw axes
    ChartBaseStyle Automaticoverall style for bars
    ChartElementFunction Automatichow to generate raw graphics for bars
    ChartElements Automaticgraphics to use in each of the bars
    DateFunctionAutomatichow to convert dates to standard form
    EventLabels Noneevents to label
    GridLines Automaticgrid lines to draw
    GridLinesStyle Automaticstyle for grid lines
    PerformanceGoal $PerformanceGoalaspects of performance to try to optimize
    PlotTheme $PlotThemeoverall theme for the chart
    ScalingFunctionsNonehow to scale individual coordinates
    TargetUnitsAutomaticunits to display in the chart
    TrendStyle Automatichow to style up and down trends
  • The arguments supplied to ChartElementFunction are the bar region {{xmin,xmax},{ymin,ymax}}, the date-price pairs list, and metadata {m1,m2,}.
  • A list of built-in settings for ChartElementFunction can be obtained from ChartElementData["LineBreakChart"].
  • With the setting ChartElements->{up,down}, up and down will be used for up and down bars, respectively.
  • EventLabels->{,datei->lbli,} specifies a label associated with datei. The label will be displayed with the bar that has a date range that includes datei.
  • With ScalingFunctions->sy, the function sy is applied to the prices. ScalingFunctions only affects the display and none of the controls.
  • Style and other specifications from options and other constructs in LineBreakChart are effectively applied in the order TrendStyle, Style and other wrappers, and ChartElementFunction, with later specifications overriding earlier ones.


open allclose all

Basic Examples  (2)

Chart the prices from a list of values:

Use three months of prices from FinancialData entities:

Specify a date range:

Scope  (23)

Data and Wrappers  (13)

Automatically get quarterly data for a financial entity:

Get data for a specific date range:

Get data from FinancialData:

Specify the number of bars required for a reversal:

The data may include units:

Specify the units to use:

Data can be TimeSeries, EventSeries, or TemporalData:

Use wrappers on individual data:

Use wrappers on entire datasets:

Wrappers can be nested:

Override the default tooltips:

Use PopupWindow to provide additional drilldown information:

Button can be used to trigger any action:

Styling and Appearance  (7)

Specify styles for up and down trends:

Use preset styles:

ChartBaseStyle can be used to set a style for all chart elements:

Style can be used to override styles:

Use built-in programmatically generated bars:

Use a theme with simple ticks and grid lines in a bright color scheme:

Use a theme with a dark background in a high-contrast color scheme:

Labeling  (3)

Use Labeled to add a label to a bar:

Use symbolic positions for label placement:

Label a list of date events:

Use Placed to control the positioning of labels, using the same positions as for Labeled:

Options  (41)

ChartBaseStyle  (3)

Use ChartBaseStyle to style bars:

ChartBaseStyle combines with TrendStyle:

ChartStyle may override settings for ChartBaseStyle:

Style may override settings for ChartBaseStyle:

ChartElementFunction  (4)

Get a list of built-in settings for ChartElementFunction:

For detailed settings, use Palettes ChartElementSchemes:

These ChartElementFunction objects show the global scale:

Write a custom ChartElementFunction:

ChartElements  (7)

Use any Graphics object for the bars:

Use different markers for up and down trends:

Graphical elements pick up the style from TrendStyle:


Use images for the bars:

Shapes are stretched to fill the bar by default:

Use a fixed height for the elements:

Use explicit sizes for width and height:

EventLabels  (3)

Events are labeled at the price by default:

Use Placed to control label placement:

Use Placed to control label appearance:

GridLines  (4)

Grid lines are used by default:

Turn off date grid lines:

Turn off price grid lines:

Place grid lines at month or year boundaries:

Use dotted grid lines for months and red grid lines for years:

GridLinesStyle  (4)

By default, GridLinesStyle uses dotted grid lines with emphasized year grid lines:

Year grid lines are emphasized:

Style grid lines:

GridLines overrides GridLinesStyle:

PerformanceGoal  (3)

Generate a paired bar chart with interactive highlighting:

Emphasize performance by disabling interactive behaviors:

Typically, less memory is required for noninteractive charts:

PlotRange  (3)

LineBreakChart automatically draws all price dates:

Limit to a specific date range:

PlotRange only includes dates for which there is data:

PlotTheme  (2)

Use a theme with simple ticks and grid lines in a bright color scheme:

Change the trend style:

ScalingFunction  (2)

Prices are normally shown on a linear scale:

Show prices on a logarithmic scale:

TrendStyle  (6)

TrendStyle uses green for up trends and red for down trends by default:

Use black for up trends and red for down trends:

Use named styles:

TrendStyle combines with ChartBaseStyle:

With TrendStyle set to None, the base style is used for up trends and empty bars for down trends:

TrendStyle->style uses style for up trends and empty bars for down trends:

Applications  (1)

Visualize the mean temperature in Chicago using WeatherData as a LineBreakChart:

Properties & Relations  (5)

Reversals occur when the price change exceeds the previous n bars:

LineBreakChart only shows time periods with significant change in price:

Use InteractiveTradingChart to visualize and interactively analyze financial data:

Use PointFigureChart, RenkoChart, and KagiChart to analyze the relation of financial prices and time:

Use DateListPlot to visualize financial data:

Wolfram Research (2010), LineBreakChart, Wolfram Language function, (updated 2014).


Wolfram Research (2010), LineBreakChart, Wolfram Language function, (updated 2014).


Wolfram Language. 2010. "LineBreakChart." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014.


Wolfram Language. (2010). LineBreakChart. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2022_linebreakchart, author="Wolfram Research", title="{LineBreakChart}", year="2014", howpublished="\url{}", note=[Accessed: 20-March-2023 ]}


@online{reference.wolfram_2022_linebreakchart, organization={Wolfram Research}, title={LineBreakChart}, year={2014}, url={}, note=[Accessed: 20-March-2023 ]}