scatterの点にデータ(色)を載せる方法

59 visualizaciones (últimos 30 días)
Hiroki Takeda
Hiroki Takeda el 21 de Abr. de 2022
Comentada: Atsushi Ueno el 22 de Abr. de 2022
3つのデータ(A、B、C)があります。それぞれ、90×72のデータです。
scatterで、AとBをし、その点の色をCにしたいと考えています。Cのデータのカラーはjetなどで構いません。
色を指定する方法は見つかるのですが、Cのデータを乗せる方法がわからず困っていました。
ご教示くださりますと幸いです。よろしくお願いいたします。

Respuesta aceptada

Atsushi Ueno
Atsushi Ueno el 21 de Abr. de 2022
scatter(x,y,sz,c)の文法で色の設定が出来ます。一つ問題があって、x,yが共に行列だと1点ずつ色設定する事が出来ず、列毎にしか色を分けられません。x,yに行列ではなくベクトルを入力すれば1点ずつ色設定することが出来ます。下記に例を示します。
[A B] = meshgrid(1:72, 1:90); C = rand(90,72); % A,B,Cはそれぞれ90行72列の行列(値は例)
A = A(:); % 行列A(90行72列)⇒ベクトルA(6480行1列)に変換
B = B(:); % 行列B(90行72列)⇒ベクトルB(6480行1列)に変換
J = jet(256); % 256行3列のカラーマップjetを得る(256行は例。色の分解能)
C = ceil(C./ max(C,[],'all').* 256); % Cを最大値で割り1~256に正規化
C = J(C, :); % Cのデータ⇒RGB値に変換(6480行3列)
scatter(A,B,1,C);
  4 comentarios
Hiroki Takeda
Hiroki Takeda el 22 de Abr. de 2022
ご丁寧にありがとうございます。
無事に解決できました。
Atsushi Ueno
Atsushi Ueno el 22 de Abr. de 2022
@Hernia Babyさん > の仰る通りです。
私の回答は、x,y共に行列で入力し「RGB3成分による点毎のカスタム色割り当て」を検討した状態のままです。因みにこれもx,yがベクトルでないと出来ず、その仕様に気付いて行列をベクトルに変えました。

Iniciar sesión para comentar.

Más respuestas (1)

Hernia Baby
Hernia Baby el 21 de Abr. de 2022
引数でサイズの次が色なので、そこに設定してください。
[A,B,C]=peaks(90);
scatter(A(:),B(:),[],C(:))
  1 comentario
Hiroki Takeda
Hiroki Takeda el 22 de Abr. de 2022
ベクトルにするのができておりませんでした。丁寧にありがとうございました。

Iniciar sesión para comentar.

Etiquetas

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!