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 commentaires

What is class(x) and class(opioid_deaths) ? And which MATLAB release are you using?
Grace Hillman
Grace Hillman le 29 Nov 2017
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

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 29 Nov 2017

0 votes

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 commentaires

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)
Grace Hillman
Grace Hillman le 30 Nov 2017
This worked, thanks so much!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Type Identification dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by