How to plot 3 column values in matlab from an excel sheet?

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

 Accepted Answer

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);

More Answers (1)

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

thank you but what about the third column 'Images' because i have to plot these x-y values against different images.
Image :copied
I need to do something like that.
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???
the image posted above is taken from a paper where y-axis defines Normalized correlation and x-axis defines quality factor of jpeg compression. Now in my case for example , for every image i have different SSIM against different Q.F. here q.F are same for every image but their SSIM values are different for every image. Sample excel data is attached below;

Sign in to comment.

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!