Unable to plot column of data that is not numerical ("Input arguments must be numeric, datetime or duration.")

I've been using this car evaluation dataset and I am wanting to create a bar graph of only ONE column.
I've been able to successfully sort the data into tables by renaming the 'car.data' file to 'car.data'txt' and using 'readtables' to import the data.
I've also isolated each column into their own variables so I can try and create graphs with them.
However I keep getting the "Input arguments must be numeric, datetime or duration." error.
steps:
x = readtable('car.data.txt');
x.Properties.VariableNames = {'buying_price' 'maintanence_price' 'doors' 'persons' 'boot_size' 'safety_level' 'acceptability'}
buying = x(:,1)
bar(buying);
Error using bar (line 98)
Input arguments must be numeric, datetime or duration.
Where have I gone wrong?
Thanks

 Réponse acceptée

It looks like that variable is categorical, but has been read in as text. You probably want to convert to a categorical variable and use histogram.

Plus de réponses (1)

buying = x.buying_price;
or
buying = x{:,1};

4 commentaires

I'm still getting the same error
"Input arguments must be numeric"
I suspect that your first column has some text in part of it and was read in as characters

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by