Matlab 如何绘制数据?

Matlab 如何绘制数据?,matlab,plot,Matlab,Plot,我想画出我所尝试的: field_names = {'A', 'B','C','D','E','F','G','H'}; Values = [0,1,2,3,4,5,6,7]; 但我得到了这个错误: 使用子索引时出错 figure bar(values(field_names)) xlabel('field_names') ylabel('values') 你可以简单地使用 Function 'subsindex' is not defined for values of class 'ce

我想画出我所尝试的:

field_names = {'A', 'B','C','D','E','F','G','H'};
Values = [0,1,2,3,4,5,6,7];
但我得到了这个错误:

使用子索引时出错

figure
bar(values(field_names))
xlabel('field_names')
ylabel('values')
你可以简单地使用

Function 'subsindex' is not defined for
values of class 'cell'.

绘图不起作用,因为字段名称是字符单元格,而bar函数不允许。 您需要使用分类(字段名称)将字段名称更改为“分类”,如下所示:

或者这个:

figure
bar(Values,categorical(field_names))
xlabel('field_names')
ylabel('values')

使用c=分类({'A'、'B'、'c'、'D'、'E'、'F'、'G'、'H'})时,此链接可能会有所帮助;然后是条(c,值)。我看不到名字,只看到X中的数字axis@Steve你有没有试过这个代码:c=category({'A','B','c','D','E','F','G','H'});数值=[0,1,2,3,4,5,6,7];figure bar(c,Values)xlabel('field_names')ylabel('Values'),因为它在我身边工作正常,所以得到了这个错误警告:仅使用复杂数据的真实组件。我的数据不完全是1,2,3,4,5,大部分是双倍的| 10e-2 |范围不起作用,我得到的是x轴上的数字,这与另一个答案建议的方法相同。试试这个:条形(值)集(gca,'xticklabel',字段名称)xlabel('field_名称')ylabel('Values')为什么要尝试用
字段名称
索引
值?
figure
bar(Values,categorical(field_names))
xlabel('field_names')
ylabel('values')
figure
bar(Values)
set(gca,'xticklabel',field_names)
xlabel('field_names')
ylabel('values')