I am trying to do a scatter plot with 2 different Y axes with different scales using imported data on a graph.
11 次查看(过去 30 天)
显示 更早的评论
I am trying to make a scatter plot of two data sets with the same x axis but two different y axis. I see how to do it with a line plot but can not seem to figure it out with a scatter plot with imported data from a table. Any help would be appreciated. Thank you.
0 个评论
回答(2 个)
KSSV
2022-12-22
x1 = rand(1,10) ;
y1 = rand(1,10) ;
z1 = sqrt(x1.^2+y1.^2) ;
yyaxis left
scatter(x1,y1,[],z1,'filled','O')
x2 = x1;
y2 = rand(1,10)+10 ;
z2 = sqrt(x2.^2+y2.^2) ;
yyaxis right
scatter(x2,y2,[],z2,'filled','s')
0 个评论
Bora Eryilmaz
2022-12-22
编辑:Bora Eryilmaz
2022-12-22
% Dataset in a table
T = table((1:100)', cumsum(rand(100,1)), cumsum(rand(100,1)), 'VariableNames', {'Time', 'Data1', 'Data2'})
% Left plot
x = T.Time;
y = T.Data1;
yyaxis left
scatter(x,y)
ylabel('Data 1')
% Right plot
z = T.Data2;
yyaxis right
scatter(x,z)
ylabel('Data 2')
6 个评论
Benjamin Kraus
2022-12-23
Where the data originates is not relevant, if the data is stored in MATLAB table, you can use yyaxis the way @Bora Eryilmaz shows in his post.
The code from your screen shot is calling readtable, which reads a table (in this case from an Excel spreadsheet) and creates a MATLAB table. On the right side of your screenshot you can see you have a MATLAB table with 1568 rows and 7 variables. Your data is in a table, so you can use yyaxis.
For example:
yyaxis left
scatter(dec22LN2testingPROCESSEDS2.DelTmin,dec22LN2testingPROCESSEDS2.OutletK)
yyaxis right
scatter(dec22LN2testingPROCESSEDS2.DelTmin,dec22LN2testingPROCESSEDS2.MassFlow)
Note that starting in R2021b you can use a different syntax for plotting data in a table:
yyaxis left
scatter(dec22LN2testingPROCESSEDS2,'DelTmin','OutletK')
yyaxis right
scatter(dec22LN2testingPROCESSEDS2,'DelTmin','MassFlow')
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!