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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
X1 | NumericArray | Yes | — | X data for the left axes. |
Y1 | NumericArray | Yes | — | Y data for the left axes. |
X2 | NumericArray | Yes | — | X data for the right axes. |
Y2 | NumericArray | Yes | — | Y data for the right axes. |
args | Any | Variadic | — | X1, Y1, X2, Y2 followed by one plotting function selector. |
args | Any | Variadic | — | X1, Y1, X2, Y2 followed by left and right plotting function selectors. |
Returns
| Name | Type | Description |
|---|---|---|
ax | NumericArray | Two axes handles [left right]. |
h1 | NumericArray | Line handle or handles for the left axes. |
h2 | NumericArray | Line handle or handles for the right axes. |
Returned values from plotyy depend on how many outputs the caller requests.
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:plotyy:InvalidArgument | Input count, plotting function selector, or line data is invalid. | plotyy: invalid argument |
RunMat:plotyy:Internal | Internal 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:
rightUse 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.
Related Plotting functions
2D Charts
area · bar · errorbar · heatmap · hist · histogram · loglog · pie · plot · scatter · semilogx · semilogy · stairs · stem
Other
addpoints · ancestor · animatedline · axes · barh · cla · clf · colorcube · colororder · copyobj · daspect · datacursormode · dataTipTextRow · fcontour · figure · fill3 · findobj · fsurf · gobjects · groot · hgload · hgsave · hidden · histogram2 · hold · line · linkaxes · openfig · opengl · pan · parula · patch · plotmatrix · polarhistogram · polarplot · polarscatter · print · quiver3 · ribbon · saveas · savefig · sphere · stackedplot · subtitle · suptitle · textscatter · textscatter3 · triplot · waitbar · wordcloud · xline · xscale · xtickangle · xtickformat · xticklabels · xticks · yline · yscale · ytickangle · ytickformat · yticklabels · yticks · zoom
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.