Is it possible to draw a Min Max line plot ("Boxplot without box")?

조회 수: 19 (최근 30일)
Maja
Maja 2024년 8월 20일
편집: Aneela 2024년 8월 21일
Hi everybody,
I am asking a simple and apparently silly question but I cannot find an answer. Is it possible to plot a Max Min line plot, a sort of box plot without the box, in Matlab?
Thanks in advance.
MD

답변 (3개)

arushi
arushi 2024년 8월 20일
Hi Maja,
Here is an example for the query to plot a Max Min line plot, a sort of box plot without the box :
% Sample data: each column represents a category or set
data = [1, 2, 3, 4, 5;
2, 3, 4, 5, 6;
1.5, 2.5, 3.5, 4.5, 5.5;
0.5, 1.5, 2.5, 3.5, 4.5];
% Calculate the max and min values for each column
maxValues = max(data);
minValues = min(data);
% Number of categories
numCategories = size(data, 2);
% X-axis positions for the categories
x = 1:numCategories;
% Plot the max-min lines
figure;
hold on;
for i = 1:numCategories
plot([x(i), x(i)], [minValues(i), maxValues(i)], 'k-', 'LineWidth', 2);
end
% Optionally, add markers for max and min
plot(x, maxValues, 'ro', 'MarkerFaceColor', 'r');
plot(x, minValues, 'bo', 'MarkerFaceColor', 'b');
% Customize the plot
xlabel('Category');
ylabel('Value');
title('Max-Min Line Plot');
grid on;
hold off;
Hope this helps.

Shubham
Shubham 2024년 8월 20일
Hi Maja,
In MATLAB, you can create a "Max-Min" line plot, which resembles a box plot without the boxes, by plotting the maximum and minimum values as lines. Here's a step-by-step guide to achieve this:
  1. Prepare Your Data: Assume you have a matrix data where each column represents a different group and each row represents an observation.
  2. Calculate Statistics: Compute the minimum and maximum values for each group.
  3. Plot the Max-Min Lines: Use the plot function to create the lines for the maximum and minimum values.
Here is an example code snippet to illustrate this:
% Sample data: each column is a different group
data = rand(10, 3); % 10 observations for 3 groups
% Calculate min and max for each group
minValues = min(data);
maxValues = max(data);
% Number of groups
numGroups = size(data, 2);
% Create a new figure
figure;
% Plot max and min lines
hold on;
for i = 1:numGroups
% Plot line from min to max for each group
plot([i, i], [minValues(i), maxValues(i)], 'k-', 'LineWidth', 2);
end
% Customize the plot
xlim([0.5, numGroups + 0.5]);
xticks(1:numGroups);
xlabel('Group');
ylabel('Value');
title('Max-Min Line Plot');
grid on;
hold off;
This approach will give you a simple Max-Min line plot for your data. You can further customize the appearance by adjusting line styles, colors, and markers as needed.

Aneela
Aneela 2024년 8월 20일
편집: Aneela 2024년 8월 21일
Hi Maja,
It is possible to draw a Min-Max plot, a box plot without the box.
I executed the code below in R2024a, which uses "errorbar" function to plot the Max-Min Line plot:
% Sample data
data = rand(100, 5); % 100 samples for 5 different groups
% Calculate minimum and maximum for each group
minValues = min(data);
maxValues = max(data);
% Calculate the mean for each group
meanValues = mean(data);
% Calculate the error
lowerError = meanValues - minValues;
upperError = maxValues - meanValues;
% Define x positions for each group
x = 1:size(data, 2);
% Plot the Max-Min lines using error bars
figure;
errorbar(x, meanValues, lowerError, upperError, 'k', 'LineStyle', 'none', 'LineWidth', 2);
xlim([0.5, length(x) + 0.5]);
xticks(x);
xlabel('Group');
ylabel('Value');
title('Max-Min Line Plot using Error Bars');
grid on;
  댓글 수: 1
Maja
Maja 2024년 8월 20일
Thanks a lot. This is also a solution using errorbar function!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Errorbars에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by