Clear Filters
Clear Filters

how to create a line plot with data from excel?

3 views (last 30 days)
I am trying to create a line plot using data from an excel document. I am a beginner and am unsure how to actually create the plot. I think I successfully imported the data into my workspace.I have attached the excel sheet with the data. This is what I am aiming to recreate:
figure
%first plot
subplot(1,2,1)
plot(10*ones(1,4), randi(50,1,4), '.k')
hold on
plot(20*ones(1,7), randi(50,1,7), '.k')
hold off
set(gca, 'YTick',[1 10:10:50], 'Xtick',[10 20], 'XTickLabel',{'Morning','Final'})
axis([0 30 0 50])
axis square;
ylabel('Odds');
box 'off';
%second plot
subplot(1,2,2)
plot(10*ones(1,4), randi(50,1,4), '.k')
hold on
plot(20*ones(1,7), randi(50,1,7), '.k')
set(gca, 'YTick',[1 10:10:50], 'Xtick',[10 20], 'XTickLabel',{'Morning','Final'})
axis([0 30 0 50])
axis square;
box 'off';
% white background
set(gcf,'color','w');
my apologies for the lengthy question. Really at a loss here and any advice would be greatly appreciated.
  4 Comments
Minka Califf
Minka Califf on 22 May 2018
I have edited the question to include the excel sheet. And there is none, they are just separated into two graphs to avoid having too many lines on one.

Sign in to comment.

Answers (1)

Sandro Lecci
Sandro Lecci on 22 May 2018
Edited: Sandro Lecci on 22 May 2018
Dear Minka,
I suggest you use the function line instead of plot. I would do something like this, and I let you change the values wherever you need.
% create 15 pairs of random values
morningOdds = rand(15,1)*50;
finalOdds = rand(15,1)*50;
%create the figure
figure('color', 'w');
subplot(1,2,1)
% Plot only the first 7 pairs
% (xdata --> 10, 20 ; ydata --> combining morning and final Odds for the first 7 pairs)
line([10, 20],[morningOdds(1:7),finalOdds(1:7)], 'marker', '.', 'markersize', 15, 'color', 'k')
% set additional axis properties
set(gca, 'xlim', [5, 25], 'ylim', [0, 50], 'xtick', [10, 20],...
'xticklabel', {'Morning', 'Final'}, 'ytick', 0:10:50, 'box', 'off')
ylabel('Odds')
axis square
% add Text labels
text(repmat(22, 1, 7), finalOdds(1:7), {'aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg'})
subplot(1,2,1)
% Similar approach
Now it's up to you to change the values as you want, depending on how your variables look like.
Best, Sandro

Categories

Find more on 2-D and 3-D Plots 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!