あなたは6列でそれぞれのユニークな値のインデックスカラーを決定し、その後、あなたが選んだのカラーマップを使用してRGBの色にこれらのインデックス付きの色を変換することができ(ここで私たちが使用しますparula
)。次に、各行をプロットするときにColor
プロパティを指定します。このアプローチで
% Get indices to use for the colormap
[~, ~, ind] = unique(ElementMap(:,6));
% Create a colormap of the correct size
cmap = parula(max(ind));
% Create a color for each plot
colors = ind2rgb(ind, cmap);
% Now plot everything
for k = 1:size(ElementMap, 1)
x = [ElementMap(k,1);ElementMap(k,3)];
y = [ElementMap(k,2);ElementMap(k,4)];
plot(x,y, 'Marker', 'o', 'LineStyle', '-', 'Color', colors(k,:));
hold on
end
、色がないであろうデータの直線必要規模が、ElementMap(:,6)
内の各一意の値が異なる色によって表される小さい値が大きな値と区別されます。
一意の値を持つすべてのプロットを気にしない場合は、となります。は、色と値の線形マッピングを取得します。
values = ElementMap(:,6);
% Assign an index to each
ind = gray2ind(mat2gray(values))
% Create the colormap
cmap = parula(numel(unique(inds)));
% Create a color for each plot
colors = ind2rgb(ind, cmap);
% Now plot everything
for k = 1:size(ElementMap, 1)
x = [ElementMap(k,1);ElementMap(k,3)];
y = [ElementMap(k,2);ElementMap(k,4)];
plot(x,y, 'Marker', 'o', 'LineStyle', '-', 'Color', colors(k,:));
hold on
end
% Now create a colorbar
colorbar()
% Set the range of the colorbar
set(gca, 'CLim', [min(values), max(values)])
ありがとう。これは私が探していたものです。フォローアップの質問:プロットにカラーバーを配置したいとします。カラーバーの値をElementMap(:、6)の値と関連付けるにはどうすればよいですか? –
@ GradyF.MathewsIvこれは、(ElementMap(:、6)の値が等間隔でない限り)この2つの間に線形マッピングがあると仮定します。 – Suever
@ GradyF.MathewsIvあなたはカラーバーでこれを行うことができます – Suever