2017-05-24 60 views
1

我正在读取很多txt文件中的列,并将列2绘制为列9,如我的代码所示。如何更改x轴上的值的名称

x= str2num(tmp{2}); 
    y= str2num(tmp{9}); 
    scatter(x, y) 

列2对每个txt文件,并在一列固定的数字有一个名字,例如:

txt-file 1:  txt-file 2: 
JM 100 0.9  KG 200 1.0 
JM 100 0.7  KG 200 0.7 
JM 100 0.6  KG 200 0.3 

所以,我的问题是。我怎样才能得到的X轴(100,200等)的值是JM和KG而不是数字?

回答

0

ploting数据后:

set (gca,'xtick',[100,200]): 
set (gca, 'xticklabels', {'JM';'KG'}); 

如果您有更多,你可以添加为好。

0

如果你正在阅读从每个文件标签(JM和KG),你可以把它们放在一个矩阵:

tags = ['JM';'KG']; 

然后,您可以用这些标签设置标签

set(gca, 'xticklabel', tags); 
0

它似乎在每个散点图中都绘制了同一个x值中的所有点,所以您必须首先将刻度值设置为您想要的值。

在Matlab中2014B以后,你可以得到的句柄对象,并直接改变它:

h = scatter(x, y); 
h.Parent.XTick = x(1); 
h.Parent.XTickLabel = tmp{1}(1);