필터 지우기
필터 지우기

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

조회 수: 2 (최근 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에서 Logical에 대해 자세히 알아보기

제품


릴리스

R2015b

Community Treasure Hunt

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

Start Hunting!