How Can I White Space From Both Axis in Surface Plot?

6 ビュー (過去 30 日間)
Ted Baker
Ted Baker 2019 年 10 月 21 日
コメント済み: Star Strider 2019 年 10 月 21 日
Hi I'm trying to remove the whitespace around some surface plots I have made:
50start.png
I have tried using linspace in both dimensions, but can only remove the white space on the x axis (appears as y axis on the image above as I've rotated the plot). My code is as follows:
amp_limits = linspace(first_amp, last_amp, num_amp);
term_limits = linspace(first_term, last_term, num_terms);
BER_mat = reshape(BER_single, num_terms, num_amp);
amp_mat = first_amp:amp_res:(last_amp-amp_res);
term_mat = first_term:2:last_term;
[amp_mat, term_mat] = meshgrid(amp_limits, term_limits);
%surface in 3D
figure;
surf(amp_mat, term_mat, BER_mat);
view(90,-90);
xlabel('Amp');
ylabel('term');
This removes the white space along the top of the image, but not on the sides. Why is this?
Thanks in advance.

採用された回答

Star Strider
Star Strider 2019 年 10 月 21 日
See the axis function section on Set Axis Limits. You can set them to be whatever you want.
  2 件のコメント
Ted Baker
Ted Baker 2019 年 10 月 21 日
Thanks for the pointer. For completeness I've attached my working code below:
BER_mat = reshape(BER_single, num_terms, num_amp);
amp_mat = first_amp:amp_res:(last_amp-amp_res);
term_mat = first_term:1:(last_term/2)+0.5;
%surface in 3D
figure;
surf(amp_mat, term_mat, BER_mat);
view(90,-90);
xlabel('Amplitude (V_p_p)');
ylabel('Number of Fourier Terms');
title('BER plot');
axis([first_amp (last_amp-(amp_res)) first_term ((last_term/2)+0.5)]);
Star Strider
Star Strider 2019 年 10 月 21 日
As always, my pleasure!
I appreciate your posting your working code. It will help others who read this.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by