Creating 2d scatter plot with different dot size and color accoridng to vlaues in matrices

2 次查看(过去 30 天)
I have two matrices, one is say 5x5 double with magnitude and the other is 5x5 of direction. The 'y-axis' or values along the column represent a length while the values along the row represent years.
Matrix1 =
1 3 4 5 8
2 7 3 9 1
2 4 5 4 3
7 1 9 8 6
Matrix2 =
-0.1 -0.93 0.4 0.65 0
.25 .71 .83 -.59 -0.7
.23 -.14 -.55 .49 .53
74. .71 -.19 .58 -.76
Row(x-axis) =
2000 2001 2002 2003 2004
Column(y-axis) =
50
40
30
20
10
I want to create a scatter plot with x and y axis as above with matrix1 giving size of the dot (say everything smaller than 5 as one size and larger than 5 as another) and Matrix2 giving the color (say negative sign as red, positive as blue, yellow otherwise).
I am having a hard time implementing this with scatter plot. It is not a 3d plot, basically it says that in 2000, the 50th member had magnitude of 1 and negative direction.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2016-4-4
M1=[1 3 4 5 8
2 7 3 9 1
2 4 5 4 3
7 1 9 8 6]
M2=[-0.1 -0.93 0.4 0.65 0
.25 .71 .83 -.59 -0.7
.23 -.14 -.55 .49 .53
74. .71 -.19 .58 -.76]
R1=[2000 2001 2002 2003 2004]
C1=[50 40 30 20 10 ]
[ii,jj]=meshgrid(R1,C1)
cl=sign(M2)+2
col='byr'
for k=1:numel(M1)
h=scatter(ii(k),jj(k),'MarkerFaceColor',col(cl(k)),'linewidth',M1(k))
hold on
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Scatter Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by