MATLAB Answers

0

ylabelに文字列を代入する方法はありますか?

Asked by hirokazu machida on 19 Sep 2019
Latest activity Commented on by hirokazu machida on 24 Sep 2019
下記のように一列にまとめた文字列をfopenで開きfgetsで一行目は開くことができるのですが二列目以降をどう展開すればいいのかわからず、さらに読み込んだ文字をylabelに入れる方法が見つかりません。何か方法がありましたらご教授お願い申し上げます。

  0 Comments

Sign in to comment.

1 Answer

Kazuya
Answer by Kazuya
on 20 Sep 2019

もう少し全体像が分からないと答えにくいですね・・。
特に ylabel に入れるということは、何からのプロット(複数??)されているのかなと推測していますが、
Ra, Ry, Rz など順に、各プロットのy軸ラベルに指定するようなイメージですか?
ただ、とりあえず文字列は
data = readtable('20190926_prepar.txt');
で全部読み込めるはずです。

  1 Comment

返信が遅れてしまい申し訳ありません。ご回答していただきありがとうございます。
もともとExcelのデータに20190926_prepraのようなパラメータを図示しており、グラフ作成する際、ylabelをこのパラメータにしたかったのですが
xlsread(filename)→この際のfilenameはExcelのものです。で読み込みグラフを作成すると文字列を除去して作成されました。
今回55個のパラメータに対して6本の線をえがいたグラフ作成をしたかったのでfor構文にしております。
僕の理想としましては、ylabelのパラメータをforが変化するとと同時でどんどんずらしていきたいける構文を作成してみようと思っています。
下記のプログラムで添付しましたグラフが55種類できbmp方式で保存されます。prepara.png
filename = '20190919_除振圧力検証_pr'; %データ読み込み
rootname = 'pretest_20190919_'; % ファイル名に使用する文字列
extension = '.bmp'; % 拡張子
M = xlsread(filename);
p=1:5;
q=6:10;
r=11:15;
s=16:20;
t=31:35;
u=36:40;
for i=1:5;
disp(i)
A=M(i,p);
B=M(i,q);
C=M(i,r);
D=M(i,s);
E=M(i,t);
F=M(i,u);
h(i)=figure(i);
xlabel('回数')
ylabel('Pa')
hold on
p1=plot(p,A,'r:o');
hold on
p2=plot(p,B,'r:x');
hold on
p3=plot(p,C,'g:o');
hold on
p4=plot(p,D,'g:x');
hold on
p5=plot(p,E,'b:o');
hold on
p6=plot(p,F,'b:x');
hold off
legend([p1 p2 p3 p4 p5 p6],{'0.53Mpa除振あり','0.53Mpa除振なし','0.40Mpa除振あり','0.40Mpa除振なし','0.51Mpa除振あり','0.51Mpa除振なし'})
file = [rootname, num2str(i), extension]; % ファイル名の作成
saveas(h(i),file) % ファイルへの保存
end

Sign in to comment.