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 CenterFile Exchange 中查找有关 時系列オブジェクト 的更多信息

产品


版本

R2015b

Community Treasure Hunt

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

Start Hunting!