2017-04-14 1 views
1

Je souhaite afficher deux données différentes dans la même figure et je souhaite afficher les densités de chaque donnée avec des couleurs. Je ci-dessous le code:L'utilisation de la dispersion pour deux jeux de données différents ne fonctionne pas

scatter(xm,ym,[],c/(max(c)),'filled','d') 
hold on 
scatter(x,y, [], dens,'filled','d') 

, mais il ne montre que les données (x, y) de couleur et YM données xm sont rouges. Quand j'utilise scatter (xm, ym, [], c/(max (c)), 'rempli', 'd') sans utiliser scatter (x, y, [], dens, 'rempli', 'd') , il montre des données de xm et de ym colorées. Mais quand j'utilise les deux scatters avec un hold entre eux, l'erreur que j'ai mentionnée se produit. Comment puis-je résoudre le problème? Quelqu'un pourrait-il aider?

+0

Il s'agit d'un problème de mise à l'échelle, les 2 ensembles de données sont probablement à différentes échelles, ce qui fait que le second semble constant. Que voulez-vous que votre sortie ressemble exactement? –

+0

Oui, ils ont des échelles différentes. Je veux que les premières données (qui ont été utilisées dans le premier scatter) soient montrées comme un champ de fond dont la couleur dans chaque position montre la quantité de cette position (par exemple si une région est rouge, cela signifie que c est haut dans cette région), et aussi je veux que les deuxièmes données soient montrées avec différentes couleurs dans la position liée à elles. Est-ce clair maintenant? @StackPlayer –

Répondre

0

Une option propre consiste à utiliser 2 sous-trames, mais cela ne vous donnera pas exactement le chevauchement que vous recherchez.

Une autre astuce consiste à mettre à l'échelle les valeurs de données d'arrière-plan à 0-1 et les secondes valeurs de données à 1-2. Et puis tracez-les comme vous le faites. (ceci distinguera les couleurs, et les gardera lisibles puisque les gammes sont toutes les deux de taille 1).

+0

Comment puis-je faire ces parties: pour mettre à l'échelle les valeurs de données en arrière-plan à 0-1, et les secondes valeurs de données à 1-2 –

+0

http://stackoverflow.com/questions/5294955/how-to-scale-down -une-plage-de-nombres-avec-une-valeur-min-et-max-connue –

+0

J'ai utilisé dens = (dens/max (dens)); tenir sa = c/max (c) +1; scatter (xm, ym, [], sa, 'rempli', 'd') scatter (x, y, [], dens, 'rempli', 'd') mais le problème ne résout pas –