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

6 vues (au cours des 30 derniers jours)
DAIKI
DAIKI le 17 Mar 2023
Commenté : DAIKI le 19 Mar 2023
3次元散布図で使うscatter3関数なのですが、数値型でないとダメだと理解しています(12/1,12/2…というのがダメ?)。そこで、"/"をのぞいて、20221201のようにしたのですが、月が変わると、そこの間の幅が大きくなってしまいグラフでうまく表現できなくなってしまいます(…20221131、20221201、20221202、20221203、…という感じで、20221131、20221201の間が大きい)。等間隔で数か月単位で表現できるようにするにはどうすればよいのでしょうか?

Réponse acceptée

Hernia Baby
Hernia Baby le 17 Mar 2023
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 commentaires
Hernia Baby
Hernia Baby le 19 Mar 2023
返信遅れて申し訳ありません。
自分の環境がR2022bのため過去のバージョンを理解できてませんでした。
入力引数にあるデータ型にdatetimeがあるのでいけると思いました。
■推測:R2015b非対応について
 エラー文から推測するにR2015bだと数値型に変換しているため、
 YEAR、DAYS等の各成分のみが使えたっぽいですね。
 いつ頃scatter3が今の対応になったかはリリースノートを追えばわかります。
 ただscatter3のドキュメントからだとパット見わかりませんでした。
 ここら辺はMathWorksのヘルプデスクに問い合わせるのがいいかもしれません。
DAIKI
DAIKI le 19 Mar 2023
ご丁寧にありがとうございました。MATLABを最近さわりはじめたばかりで、よくわかっていなかったので助かりました!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 時系列オブジェクト dans Help Center et File Exchange

Produits


Version

R2015b

Community Treasure Hunt

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

Start Hunting!