Non-existent data point added to plot when using YScale set to log
2 ビュー (過去 30 日間)
古いコメントを表示
I am having trouble with my box charts.
I want to use a logarithmic scale on the y-axis, but when I set the YScale to 'log' the figure gains a non-existent data point in the lower right corner.
Below I have added pictures of the same plot using first:
set(gca,'YScale','linear');
And then:
set(gca,'YScale','log');
Notice the small x in the bottom, right corner of the second plot where the log scale is used.


Any help to get rid of this seemingly misprinted data point is much appreciated. The complete code used for plotting is appended below.
%% Run time
close all;
clear;
clc;
%% Data
run_times = [1.4634 1.5331 1.4921 1.3144 1.0671;
1.3962 1.3904 1.4602 1.2182 1.1692;
1.4932 1.4054 1.2830 1.2400 1.1326;
1.5038 1.3657 1.1776 1.0256 1.1283;
1.7159 1.4243 1.2277 1.0248 1.1027;
1.4595 1.3683 1.3592 1.0343 1.1770;
1.3933 1.3528 1.4153 1.0389 1.1779;
1.4677 1.3328 1.1518 1.0293 1.0091;
1.5231 1.4361 1.1591 1.1834 0.9311;
1.5266 1.3547 1.1698 1.3268 0.9344;
1.4179 1.3956 1.3281 1.3119 1.0316;
1.7265 1.3067 1.2173 1.2612 1.0231;
1.7641 1.3872 1.2086 1.0228 0.9045;
1.6448 1.3595 1.1600 1.0287 0.9136;
1.4732 1.3832 1.1769 1.0213 0.8964;
1.5144 1.3128 1.4429 1.0217 0.9178;
1.6277 1.3571 1.2957 1.0618 0.9330;
1.5958 1.6076 1.1443 1.0634 0.9082;
1.5744 1.6343 1.1444 1.0780 0.9363;
1.7770 1.6009 1.4395 1.2499 0.9666];
run_time_size = size(run_times);
%Group data with even spaces without regard for actual space between groups
x_axis_groups = repmat(1:run_time_size(2),run_time_size(1),1);
label_x_axis = repmat([50 60 70 80 90],run_time_size(1),1);
%% Plot
%For formatting
font_size = 14;
y_padding = 0.1;
%Create figure
figure;
hold('on');
%Create box chart
box_chart_time = boxchart(x_axis_groups(:),run_times(:));
%Box chart properties
box_chart_time.BoxFaceColor = 'b';
box_chart_time.BoxFaceAlpha = 0;
box_chart_time.MarkerStyle = 'x';
box_chart_time.MarkerColor = 'k';
grid('on');
box('on');
set(gca,'FontSize',font_size);
set(gca,'ycolor','k');
%Labels
xlabel('Outlier Fraction [\%]','Interpreter','latex');
ylabel('Runtime [s]','Interpreter','latex');
%X-axis
set(gca,'XTick',x_axis_groups(1,:));
set(gca,'XTickLabel',label_x_axis(1,:));
set(gca,'XLimitMethod','padded');
%Y-axis
% set(gca,'YScale','linear'); %Linear y-axis
set(gca,'YScale','log'); %Logarithmic y-axis
rounded_min_log_value_time = floor(log10(min(run_times(:))));
rounded_max_log_value_time = ceil(log10(max(run_times(:))));
y_lim_min_time = 10^(rounded_min_log_value_time - y_padding);
y_lim_max_time = 10^(rounded_max_log_value_time + y_padding);
ylim([y_lim_min_time y_lim_max_time]);
0 件のコメント
採用された回答
Sourav Karmakar
2022 年 2 月 17 日
編集済み: Sourav Karmakar
2022 年 2 月 17 日
Hey Torbjorn ,
This is a bug known to the development team and they will try to fix it in future releases. One workaround would be to use boxplot function.
Hope this helps!
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Annotations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!