Why does my plot line appear outside the axes?
17 ビュー (過去 30 日間)
古いコメントを表示
I'm trying to make a double y-axis plot of data that extends beyond the x-axis limits of the plot. When I save the plot as a .png, the plot lines appear outside the right axis of the plot.
Here's code for a simplified version of what I'm trying that produces the issue:
x = [0 1 2 3 4];
yl = [0 1 2 4 3];
yr = [0 2 3 1 2];
yyaxis left
plot(x, yl)
yyaxis right
plot(x, yr)
xlim([1 3])
saveas(gcf,'[PATH].png')
And here's the image that's saved:

I know that there's a workaround of shortening the data arrays to the range of the x-axis limits before plotting, but I was wondering if there's a more elegant solution.
8 件のコメント
Adam Danz
2024 年 5 月 2 日
@Sam Chak and @Jamie Bragg thanks for sharing this renderer information. It shows exactly what I needed to see. I'll take it from here and add this bug to our tracker. Thanks again for your help and cooperation!
採用された回答
Adam Danz
2024 年 5 月 6 日
編集済み: Adam Danz
2024 年 5 月 6 日
This appears to be a bug specific to the OpenGL renderer. Thanks for reporting this issue. Investigation will continue internally.
7 件のコメント
Walter Roberson
2025 年 2 月 27 日
This appears to be a bug specific to the OpenGL renderer.
Ah, then it would be expected to be fixed in R2025a, which no longer uses OpenGL ;-)
その他の回答 (1 件)
Sam Chak
2024 年 4 月 26 日
Because the xlim() command is used on the right y-axis plot.
x = [0 1 2 3 4];
yl = [0 1 2 4 3];
yr = [0 2 3 1 2];
yyaxis left
plot(x, yl), xlim([1 3])
yyaxis right
plot(x, yr), xlim([1 3])
% saveas(gcf,'[PATH].png')
5 件のコメント
Sam Chak
2024 年 4 月 26 日
@Jamie Bragg, If the image is displayed correctly in MATLAB, what happens when you save the figure again after it has been properly rendered?
参考
カテゴリ
Help Center および File Exchange で Graphics Performance についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!