MATLAB Answers

極座標3次元プロットでのカラーマップ指定方法

조회 수: 19(최근 30일)
H.O
H.O 2021년 7월 9일
댓글: H.O 2021년 7월 10일
極座標の散布図を作成し、Z方向の値をカラーレンジでプロットしたいです。プロットはできましたが、カラーマップがデフォルトで固定されており、jetに変更できませんでした。修正方法を教えてください。
clear
z1=[1 2 3 4 5 6] %カラーにしたい値を定義
theta=deg2rad(60); %ラジアンに変換、60度間隔にプロットする theta_end=2*pi-deg2rad(theta); %最後のプロット点を定義
% %散布図 半径2で定義 T=0:theta:theta_end; %0度からスタートして 等間隔に1周する
polarscatter(T,2,z1,'filled','SizeData',180,'MarkerEdgeColor','k','MarkerFaceColor','flat');
% カラー範囲
caxis([1 10]) colormap(jet); %カラーマップ変更 colorbar
  댓글 수: 1
Atsushi Ueno
Atsushi Ueno 2021년 7월 9일
CDataにカラーマップの値を設定すれば良いのですが、どうすれば良いのか分からないので調べます...
⇒原因がわかったのでコメントを削除しました

댓글을 달려면 로그인하십시오.

채택된 답변

Atsushi Ueno
Atsushi Ueno 2021년 7월 9일
@H.Oさんの意図した通りに動作しない原因が判りました
polarscatter(th,r,sz) はマーカーのサイズを設定します。
polarscatter(th,r,sz,c) はマーカーの色を設定します。
色を指定する為には4つのパラメータが必要ですが、色を指定するのにパラメータを3つしか入力していないのが原因です。3つしか入力しない引数のパターンも認識するので「マーカの色」のつもりで入力したパラメータが「マーカーのサイズ」と認識されてしまいエラーにはなりません。分かり易いようにマーカーの数を増やしました。
r = ones(1,12).*2; %rho値を定義
s = ones(1,12).*200; %マーカのサイズを定義
z1 = 1:12; %カラーにしたい値を定義
theta = deg2rad(30); %ラジアンに変換、60度間隔にプロットする
theta_end = 2*pi-deg2rad(theta); %最後のプロット点を定義
T = 0:theta:theta_end; %0度からスタートして 等間隔に1周する
% polarscatter(T,2 ,z1,'filled','SizeData',180,'MarkerEdgeColor','k','MarkerFaceColor','flat');
mp = polarscatter(T,r,s,z1,'filled','SizeData',180,'MarkerEdgeColor','k','MarkerFaceColor','flat');%散布図 半径2で定義
caxis([1 10]);
colormap(jet); %カラーマップ変更
colorbar;
  댓글 수: 2
H.O
H.O 2021년 7월 10일
原因のご指摘まで頂きありがとうございます。 私の方でも動作確認できました。 ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Hernia Baby
Hernia Baby 2021년 7월 9일
편집: Hernia Baby 2021년 7월 9일
polarscatterの場合、それぞれに(R,G,B)の値を適用する必要があります。
clc,clear,close;
z1 = [1 2 3 4 5 6]; %カラーにしたい値を定義
theta = deg2rad(60); %ラジアンに変換、60度間隔にプロットする
theta_end = 2*pi-deg2rad(theta); %最後のプロット点を定義
T = 0:theta:theta_end; %0度からスタートして 等間隔に1周する
ここがミソです
NoCol = ceil(max(z1)); %色の数
CM = colormap(jet(NoCol)); %カラーマップの指定
プロットします。
mp = polarscatter(T,2,180,CM(fix(z1),:),'filled');%散布図 半径2で定義
% カラー範囲
caxis([min(z1) max(z1)])
color = colormap(jet);
%カラーマップ変更
colorbar
  댓글 수: 3
H.O
H.O 2021년 7월 10일
カラーマップをMIN、MAXで作ることもできるのですね。私の方でも動作確認できました。 ありがとうございました。

댓글을 달려면 로그인하십시오.

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!