3次元散布図のY軸に日付データを使いたい

4 ビュー (過去 30 日間)
DAIKI
DAIKI 2023 年 3 月 17 日
コメント済み: DAIKI 2023 年 3 月 19 日
3次元散布図で使うscatter3関数なのですが、数値型でないとダメだと理解しています(12/1,12/2…というのがダメ?)。そこで、"/"をのぞいて、20221201のようにしたのですが、月が変わると、そこの間の幅が大きくなってしまいグラフでうまく表現できなくなってしまいます(…20221131、20221201、20221202、20221203、…という感じで、20221131、20221201の間が大きい)。等間隔で数か月単位で表現できるようにするにはどうすればよいのでしょうか?

採用された回答

Hernia Baby
Hernia Baby 2023 年 3 月 17 日
datetime型にすればいけます
clear,clc;
日付データ作ります
Y = 2022;
M = repelem((3:4)',20,1);
D = repmat((1:20)',2,1);
T = datetime(Y,M,D);
T(1:5,1)
ans = 5×1 datetime array
01-Mar-2022 02-Mar-2022 03-Mar-2022 04-Mar-2022 05-Mar-2022
テキトーな数値を作って描写します
y = randi([10, 20],40,1);
z = randi([100 200],40,1);
scatter3(T,y,z)
  4 件のコメント
Hernia Baby
Hernia Baby 2023 年 3 月 19 日
返信遅れて申し訳ありません。
自分の環境がR2022bのため過去のバージョンを理解できてませんでした。
入力引数にあるデータ型にdatetimeがあるのでいけると思いました。
■推測:R2015b非対応について
 エラー文から推測するにR2015bだと数値型に変換しているため、
 YEAR、DAYS等の各成分のみが使えたっぽいですね。
 いつ頃scatter3が今の対応になったかはリリースノートを追えばわかります。
 ただscatter3のドキュメントからだとパット見わかりませんでした。
 ここら辺はMathWorksのヘルプデスクに問い合わせるのがいいかもしれません。
DAIKI
DAIKI 2023 年 3 月 19 日
ご丁寧にありがとうございました。MATLABを最近さわりはじめたばかりで、よくわかっていなかったので助かりました!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange時系列オブジェクト についてさらに検索

製品


リリース

R2015b

Community Treasure Hunt

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

Start Hunting!