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 个评论

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

请先登录,再进行评论。

回答(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 个评论

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!

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Tables 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by