2017-04-15 10 views
0

グラフから1,2,3,4 ...をどのように変更できるか尋ねたい、グラフには日付(1→11_08_2016_12_36)ワークスペースfnames.nameの変数から。私はいくつかの関数ハンドルを試しましたが、うまくいきません。ご協力ありがとうございます。棒グラフx軸をmatlabの日付から日付に変更する

Code Graph

This names I want change to graph

答えて

0
N={fnames.name}; %isolate the names 
t=zeros(1,length(N)); %reserve space 
for ct = 1:length(N) %go over the names 
    temp=regexp(N{ct},'\d\d_\d\d_\d\d\d\d_\d\d_\d\d','match'); %match the relevant part 
    t(ct)=datenum([temp{:}],'mm_dd_yyyy_HH_MM'); %convert to datenum 
end 
%plot your graph here, use t as the x-axis% 
datetick('x',1) %give x-axis in date 
+0

これは私の解決ですが、助けてくれてありがとう: 'handle = gca; x_label = strtok({fnames.name}、 '。'); %%テキストから ".mat"を削除します。 x_label = strrep(x_label、 '_'、 '/'); %% MATLABは "_"をインデックスとして "/" ( "XTick '[1:size(fnames、1)]、' XTickLabel '、x_label、' XTickLabelRotation ' %%可変サイズのx_labelを選択し、45°回転 ' –

0

軸ハンドルを使用してください。

data=rand(3,1); 

hfig = figure; 
hax = axes; 
hbar = bar(1:3,data); 
dates={'Date 1';'Date 2';'Date 3'}; 
hax.XTickLabel=dates; 
% In case you want your labels rotated. 
hax.XTickLabelRotation=90; 
+0

私は自動的に私は41日を持っているワークスペースfname.nameから現在までのグラフから数値を変更したいので、各列は変数から日付になりますし、 '= –

+0

変更'日付をfname.name 'fname.name ='はfname.nameもセル配列であると仮定しています。 fname.nameがセル配列であるか文字列配列であるかを指定しなかったので、私はそれを書きませんでした。 – Poelie

+0

あなたのコードをスクリーンショットしたことに気付かなかった。その中に文字配列を持つ構造体ですか?その場合は、struct2cell()を使用してセル配列に持ってきて、軸ハンドルに配置することができます。 – Poelie

関連する問題