![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/271242/image.png)
3D scatter with 2 different data sets as different colours
15 次查看(过去 30 天)
显示 更早的评论
I have 2 data sets in Kitap 1 and PLMS. I want to show this 2 datasets with different colours in one 3D scatter. I wrote this code but I have only yellow points with this. Can somebody help me for 2 different colours.
data=xlsread('Kitap1');
x=data(1:end,1);
y=data(1:end,3);
z=data(1:end,5);
data2=xlsread('PLMS');
xx=data2(1:end,1);
yy=data2(1:end,4);
zz=data2(1:end,3);
figure(1);
scatter3(xx,yy,zz,'r','filled');
hold on
scatter3(x,y,z,'y','filled');
hold off
grid on
xlabel('X(km)')
ylabel('a(m/s^2)')
zlabel('CO_2 emission(g/s)')
zlim([0 100])
2 个评论
Subhadeep Koley
2020-2-12
编辑:John Kelly
2024-4-15
Can you provide the Kitap1 and PLMS files?
Because in my end I can plot 2 different data in 2 different colours successfully (Refer the code below).
close all; clc;
% Random data1
x = 1:200;
y = 1:200;
z = rand(1, 200);
% Random data2
xx = 1:200;
yy = 1:200;
zz = rand(1, 200);
figure; scatter3(xx, yy, zz, 'r', 'filled');
hold on;
scatter3(x, y, z, 'y', 'filled');
hold off; grid on;
xlabel('X(km)'); ylabel('a(m/s^2)'); zlabel('CO_2 emission(g/s)');
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/271242/image.png)
采纳的回答
Subhadeep Koley
2020-2-12
Firstly your PLMS.xlsx file has some NaN values. Moreover, the variable x is identical with xx, y is identical with yy, and so on...
Therefore, the first scatter plot is being overlapped by the second scatter plot.
I have increased the marker size of the first scatter plot and decreased the marker size of the second scatter plot in the code below. It is clearly visible how the first scatter plot is being overlapped by the second scatter plot.
Hope this helps!
clc; close all;
data = xlsread('Kitap1.xlsx');
data2 = xlsread('PLMS.xlsx');
x = data(1:end, 1);
y = data(1:end, 3);
z = data(1:end, 5);
xx = data2(1:end, 1);
yy = data2(1:end, 4);
zz = data2(1:end, 3);
% Discarding NaN values
xx(isnan(xx)) = [];
yy(isnan(yy)) = [];
zz(isnan(zz)) = [];
figure;
scatter3(xx, yy, zz, 100, 'r', 'filled');
hold on;
scatter3(x, y, z, 40, 'y', 'filled');
hold off;
grid on;
xlabel('X(km)');
ylabel('a(m/s^2)');
zlabel('CO_2 emission(g/s)');
![dualScatter.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/271257/dualScatter.png)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Discrete Data Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!