plotyy — Plot two data sets with independent left and right Y axes.

plotyy creates two overlaid Cartesian axes in the current figure, plots the first data set against the left Y axis, plots the second data set against the right Y axis, and returns the axes and line handles. It is a legacy MATLAB compatibility helper; new MATLAB code generally uses yyaxis.

Syntax

[ax,h1,h2] = plotyy(X1,Y1,X2,Y2)
[ax,h1,h2] = plotyy(X1,Y1,X2,Y2,fun)
[ax,h1,h2] = plotyy(X1,Y1,X2,Y2,fun1,fun2)

Inputs

NameTypeRequiredDefaultDescription
X1NumericArrayYesX data for the left axes.
Y1NumericArrayYesY data for the left axes.
X2NumericArrayYesX data for the right axes.
Y2NumericArrayYesY data for the right axes.
argsAnyVariadicX1, Y1, X2, Y2 followed by one plotting function selector.
argsAnyVariadicX1, Y1, X2, Y2 followed by left and right plotting function selectors.

Returns

NameTypeDescription
axNumericArrayTwo axes handles [left right].
h1NumericArrayLine handle or handles for the left axes.
h2NumericArrayLine handle or handles for the right axes.

Returned values from plotyy depend on how many outputs the caller requests.

Errors

IdentifierWhenMessage
RunMat:plotyy:InvalidArgumentInput count, plotting function selector, or line data is invalid.plotyy: invalid argument
RunMat:plotyy:InternalInternal plotting state update fails.plotyy: internal operation failed

GPU memory and residency

plotyy is a plotting sink. It delegates line creation to the existing low-level line path, so GPU-resident inputs follow the same residency behavior as line and are not gathered by plotyy itself.

Examples

Plot two series with separate Y axes

[ax,h1,h2] = plotyy(1:3, [10 20 30], 1:3, [100 400 900]);
get(ax(2), 'YAxisLocation')

Expected output:

right

Use logarithmic plotting functions

[ax,h1,h2] = plotyy(1:3, [10 20 30], 1:3, [100 400 900], 'semilogx', 'semilogy');
{get(ax(1),'XScale'), get(ax(2),'YScale')}

Expected output:

{'log', 'log'}

Using plotyy with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how plotyy changes the result.

Run a small plotyy example, explain the result, then change one input and compare the output.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.