makes a point and figure chart with prices pi at date datei.


makes a point and figure chart of closing prices for the financial entity "name" over the date range daterange.


makes a point and figure chart with point and figure height s and n reversals.

Details and Options

  • A point and figure chart is drawn as a series of bars with alternating directions. Changes that continue a trend are drawn in increments of a fixed size. A new column is drawn when the direction changes by n units.
  • PointFigureChart[] is equivalent to PointFigureChart[,{"Relative",0.03},3] for 3% of the price range and three reversals.
  • The following arguments can be used to specify the step s:
  • {"Relative",p}fraction of price range (default)
    {"Absolute",p}absolute price change
  • 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 PointFigureChart can be given in the following forms:
  • {datei,pi}a pure date-price pair
    {datei,Quantity[pi,ui]}a date-price pair with a unit
    wi[{datei,pi},]a date-price pair and wrapper wi
    formi->mia date-price pair with metadata mi
  • A point and figure chart element may represent several date-price pairs, and the corresponding wrappers will apply to the entire chart element.
  • Data not given in these is taken to be missing and typically is excluded when generating the chart.
  • Data for PointFigureChart can be given in the following forms:
  • {e1,e2,}list of elements with or without wrappers
    TimeSeries[],EventSeries[],TemporalData[]time series, event series, and temporal data
    w[{e1,e2,}]wrapper applied to the whole data
  • 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 PointFigureChart, Labeled and Placed allow the following positions:
  • Top,Bottom,Left,Right,Centerpositions within point or figure
    Above, Below, Before, Afterpositions outside point or figure
    {{bx,by},{lx,ly}}scaled position {lx,ly} in the label at scaled position {bx,by} in the point or figure
  • PointFigureChart has the same options as Graphics with the following additions and changes:
  • AspectRatioAutomaticoverall ratio of height to width
    AxesTruewhether to draw axes
    ChartBaseStyle Automaticoverall style for bars
    ChartElementFunction Automatichow to generate raw graphics for point and figure bars
    ChartElements Automaticgraphics to use in each of the points and figures
    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
    TrendStyle Automatichow to style up and down trends
    ScalingFunctionsNonehow to scale the axis
    TargetUnitsAutomaticunits to display in the chart
  • 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["PointFigureChart"].
  • With the setting ChartElements->{up,down}, up and down will be used for figures and points, respectively.
  • EventLabels->{,datei->lbli,} specifies a label associated with datei. The label will be displayed with the point or figure 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 PointFigureChart are effectively applied in the order TrendStyle, Style and other wrappers, and ChartElementFunction, with later specifications overriding earlier ones.


open allclose all

Basic Examples  (4)

Chart the prices from a list of values:

Use three months of prices from FinancialData entities:

Specify a date range:

Change the reversal threshold:

Scope  (27)

Data and Wrappers  (16)

Automatically get quarterly data for a financial entity:

Get data for a specific date range:

Get data from FinancialData:

Point and figure height by default is a fraction of the price range:

Specify increment size as a fraction of the price range:

Use fixed-size increments:

A new column starts when price change exceeds the reversal value:

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  (8)

Specify styles for up and down trends:

Use preset styles:

Use classical point and figure elements:

Use custom chart elements:

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 candlestick:

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  (44)

AxesOrigin  (3)

Axes origin is on the left by default:

Place the axis at the end of February:

Use named positions for the axis:

ChartBaseStyle  (4)

Use ChartBaseStyle to style the points and figures:

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:

ChartElementFunction shows the global scale:

Write a custom ChartElementFunction:

ChartElements  (7)

Use any Graphics object for the points and figures:

Use different markers for up and down trends:

Chart elements are sized to match the point and figure heights:

Graphical elements pick up the style from TrendStyle:


Use images for the bars:

Use preset chart elements:

Stretch the shape to fill the bar:

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  (3)

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

Style grid lines:

GridLines overrides GridLinesStyle:

PerformanceGoal  (3)

Generate a PointFigureChart with interactive highlighting:

Emphasize performance by disabling interactive behaviors:

Typically, less memory is required for non-interactive charts:

PlotRange  (3)

PointFigureChart 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:

Properties & Relations  (8)

Larger height value filters out more noises:

A new column starts when price change exceeds the reversal value:

PointFigureChart only shows time periods with significant change in price:

Use CandlestickChart to visualize the financial data:

Use TradingChart to visualize and analyze financial data:

Use InteractiveTradingChart to visualize and interactively analyze financial data:

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

Use DateListPlot to visualize financial data:

Wolfram Research (2010), PointFigureChart, Wolfram Language function, https://reference.wolfram.com/language/ref/PointFigureChart.html (updated 2014).


Wolfram Research (2010), PointFigureChart, Wolfram Language function, https://reference.wolfram.com/language/ref/PointFigureChart.html (updated 2014).


Wolfram Language. 2010. "PointFigureChart." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/PointFigureChart.html.


Wolfram Language. (2010). PointFigureChart. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PointFigureChart.html


@misc{reference.wolfram_2022_pointfigurechart, author="Wolfram Research", title="{PointFigureChart}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/PointFigureChart.html}", note=[Accessed: 21-March-2023 ]}


@online{reference.wolfram_2022_pointfigurechart, organization={Wolfram Research}, title={PointFigureChart}, year={2014}, url={https://reference.wolfram.com/language/ref/PointFigureChart.html}, note=[Accessed: 21-March-2023 ]}