![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/598590/image.png)
How to plot 3 column values in matlab from an excel sheet?
12 views (last 30 days)
Show older comments
Hey all,
I need to plot 3 column values from excel. For example; one column contains different images, second column contains its SSIM values and third column contains different keys. on x-axis it should have keys column, on y-axis SSIM values. Can anyone guide me how to do that?
Thanks
0 Comments
Accepted Answer
Image Analyst
on 27 Apr 2021
Try this:
% Demo by Image Analyst.
clc; % Clear the command window.
fprintf('Beginning to run %s.m ...\n', mfilename);
close all; % Close all figures (except those of imtool.)
clearvars;
workspace; % Make sure the workspace panel is showing.
format short g;
format compact;
fontSize = 20
data = readmatrix('sample_table.xls')
qualityFactor = data(:, 1);
[rows, columns] = size(data)
legendStrings = cell(columns - 1, 1);
for col = 2 : columns
thisColumn = data(:, col);
plot(qualityFactor, thisColumn, '.-', 'LineWidth', 2, 'MarkerSize', 30);
grid on;
hold on;
legendStrings{col-1} = sprintf('Image %d', col - 1);
end
legend(legendStrings, 'Location', 'southwest');
title('SSIM vs. Quality Factor for Different Images', 'FontSize', fontSize);
xlabel('Quality Factor', 'FontSize', fontSize);
ylabel('SSIM', 'FontSize', fontSize);
fprintf('Done running %s.m\n', mfilename);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/598590/image.png)
More Answers (1)
Image Analyst
on 25 Apr 2021
data = readmatrix('my dexcel data.xlsx.')
ssimValues = data(:, 2); % SSIM values are in column 2
keyValues = data(:, 3); % Key Values are in column 3
plot(keyValues, ssimValues, 'b.-', 'LineWidth', 2, 'MarkerSize', 12);
grid on
xlabel('Key Values', 'FontSize', 20);
ylabel('SSIM Values', 'FontSize', 20);
4 Comments
Image Analyst
on 26 Apr 2021
You keep forgetting to attach 'my dexcel data.xlsx.' Please do so with the paper clip icon.
Since each row is one image, and column 2 has it's ssim and column 3 has its keyValue, how can you get an entire curve for a given image rather than just a single point??? What do the axes in your sample graph above represent???
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!