How to remove specific colour from "surf" plot?
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Mariana Melo
il 28 Nov 2019
Commentato: Mariana Melo
il 6 Dic 2019
I am trying to generate a density plot overlayed on a background image.
For me it is interesting the points where the density is higher, so I want to remove the blue color, or make it transparent somehow.
This is how i generated this figure. I used "dscatter" function from Mathworks to generate density plot.
figure
img = imread('estimulo_neutro.jpg');
image('CData',img,'XData',[0 1080],'YData',[1900 0])
x = vector0(:,1);
y = vector0(:,2);
hold on
t = dscatter(x, y, 'plottype', 'surf');
colormap(jet)
0 Commenti
Risposta accettata
Daniel M
il 28 Nov 2019
I don't have this dscatter function, but here is an example of how to do this with imagesc (which is similar enough that you could translate it to your situation). It involves setting the AlphaData property of your image. In the following example, I do so based on if the value is NaN. But you could do it for any value (and thus any colour).
clearvars
close all
clc
% get some data and plot it
z = peaks;
x = 1:size(z,1);
y = 1:size(z,2);
figure
imagesc(x,y,z);
colorbar
% now make some values in z NaN and plot them blank
nanz = z;
nanz(z < 1 & z > -1) = NaN;
figure
I = imagesc(x,y,nanz);
colorbar
% Use the AlphaData property to set the NaN values to blank
I.AlphaData = ones(size(nanz));
I.AlphaData(isnan(nanz)) = 0;
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Orange in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!