1. ホーム
  2. matlab

[解決済み] MATLABとラスタープロット

2022-02-12 19:50:01

質問

Matlabのstackoverflowでラスターに関連するすべてのものに目を通しましたが、あるデータのラスタープロットを作成するための便利で簡単な方法を見つけることができませんでした。

私が作りたいラスタープロットは、以下のベクトルを使用しています。

X =[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;]

このベクトルでは、0=応答なし、1=応答あり、となっています。また、各要素は0.1秒を表します。このデータを次のようにラスターで表現したプロットを作りたい。

| ||| | | | |||||| | | |

---> 時間 (注:この例は、私があげたデータに対応するものではありません)

ここで、Time は X 軸で、各行は 1 (すなわち応答) に対応します。どなたか、これを行う方法について何かご提案がありますか?

Matlabのスパースプロット用コマンドを使いましたが、私が求めているものとはちょっと違います。また、linalg::rasterを試しましたが、このコマンドが必要とするツールボックスを持っていません。

どのように解決するのですか?

あなたの図面から推測すると、あなたが探しているのは

stem(X,'Marker','none')

そして、時間軸については、次のようにすることができます。

t = (1./(24.*60.*60.*10)).*(1:length(X)) ;
stem(t,X,'Marker','none') 
datetick