Error using plot Invalid first data argument

I have an imported data set year:value1:value2 format. I assigned variables, year=C{1}; opioid_deaths=C{2}; heroin_deaths=C{3} This is my code for trying to create a plot - I keep getting the "error using plot; invalid first data argument"
% code
year=C{1};
plot(x,opioid_deaths,'b--+','LineWidth',2,x,heroin_deaths,'r:*','LineWidth',2)
title('Number of Opioid and Heroin Deaths in Maryland from 2007''FontSize',24,'FontName','Helvetica')
xlabel('Year','FontSize',18,'FontName','Helvetica')
ylabel('Number of deaths','FontSize',18,'FontName','Helvetica')
legend('Opioid deaths','Heroin deaths','Location','southwest','FontSize',18,'FontName','Helvetica')
hold on
% end

2 Comments

What is class(x) and class(opioid_deaths) ? And which MATLAB release are you using?
Class of opioid_deaths and heroin_deaths are both double. Sorry, I meant to replace x with the variable year (which is also class double).
I am using Matlab R2016A

Sign in to comment.

Answers (1)

I suspect that x is class datetime and that you are using a MATLAB version before R2016b; R2016b was the version that introduced using datetime for the x axis.

2 Comments

All name/value pairs must go at the end of the list, and you can only set linewidth for everything at once, not individually.
plot(x, opioid_deaths, 'b--+', x, heroin_deaths, 'r:*', 'LineWidth', 2)
This worked, thanks so much!

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Asked:

on 29 Nov 2017

Commented:

on 30 Nov 2017

Community Treasure Hunt

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

Start Hunting!