x軸の情報を追加したい

21 vues (au cours des 30 derniers jours)
riku
riku le 14 Nov 2019
Commenté : riku le 15 Nov 2019
sample.jpg
上の図ようにx軸が時間のデータに高度の対応も分かるように高度も表示させたいのですが出来なくて困っています。
複数の x 軸と y 軸があるチャートの作成も試したのですが、これは2つのデータの同じ図に表示するものであったため、それぞれ表示させると時間と高度にずれが生じてしまいました。
よろしくお願いします。

Réponse acceptée

Hiroki Okawa
Hiroki Okawa le 14 Nov 2019
time = [78, 80, 82];
altitude = [94, 96, 98];
figure;
plot(time, altitude, '-o')
xlabel('時間 [sec]')
ylabel('高度 [km]')
grid on
でいかがでしょうか。 これで希望と異なる場合、どんな目的でどんなグラフを作成したいのか、を可能な範囲で教えていただけると幸いです。
  6 commentaires
Hiroki Okawa
Hiroki Okawa le 15 Nov 2019
なるほどわかりました。
あくまで 高度 は、 時間 に対応している、ということですね。(こちら側の回答に近い)
y = 0 : 2 : 8; % 移動距離
t = 78 : 2 : 86; % 時間
a = [94, 95, 99, 105, 112]; % 高度
index = 1 : length(t); % プロット用のインデックス
figure;
[~, ax] = plotmultix(t, y, index, y);
xticks(ax(2, 1), index) % 目盛りの位置はインデックスとする
xticklabels(ax(2, 1), string(a)); % 目盛り表示のみaのデータを用いる
xlabel(ax(1,1),'時間 [sec]');
xlabel(ax(2,1),'高度 [km]');
ylabel('移動距離 km]')
grid on
しかし、このままですと高度は等間隔ではないにもかかわらず、下記のように小目盛りが等間隔に表示されています。plotmultix関数はaxesの扱いが特殊なようで、小目盛りの制御に関して私の調べた限りでは見つかりませんでした。
untitled.png
riku
riku le 15 Nov 2019
思い描いていたものを実現することができました。
長い時間親身になって考えてくださり、本当にありがとうございました。

Connectez-vous pour commenter.

Plus de réponses (1)

Yoshio
Yoshio le 14 Nov 2019
File Exchangeに参考となるものがあるようです。
いかがでしょうか。
  2 commentaires
riku
riku le 15 Nov 2019
Modifié(e) : riku le 15 Nov 2019
plotmultix(varargin​)を使おうとしたのですが、アドオンを追加した後どのように実行すればわからず困っています。何か例題を示していただければ幸いです。
よろしくお願いします。
Hiroki Okawa
Hiroki Okawa le 15 Nov 2019
Modifié(e) : Hiroki Okawa le 15 Nov 2019
plotmultixを使った例を簡単ですが作りました。
y = 0 : 2 : 8; % 移動距離
t = 78 : 2 : 86; % 時間
a = 94 : 2 : 102; % 高度
figure;
[~,ax]=plotmultix(t,y,a,y);
xlabel(ax(1,1),'時間 [sec]');
xlabel(ax(2,1),'高度 [km]');
ylabel('移動距離 km]')
grid on
ただし、この関数はnanmin, nanmax関数を用いるため Financial Toolbox 或いは Statistics and Machine Learning Toolbox を持っていない場合は、自力で実装するか
271行目: nanmin → min
271行目: nanmax → max
と変更(対象データにNaN値がない場合)する必要があります。

Connectez-vous pour commenter.

Catégories

En savoir plus sur Calendar dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!