How to add a 1:1 reference line
94 次查看(过去 30 天)
显示 更早的评论
Hi, I am trying to add a dashed 1:1 reference line to subplots of data correlations. The range of values is the same for both x and y.
I have tried refline, but it appears to be tied to the range of the data, such that it only extends across the plot where there are data points.
For example:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/413453/image.jpeg)
In the plot above, the 1:1 line stops short of the lower-left and upper-right corners. I want a line that goes all the way from the point of origin to the upper right-hand corner of the plot, such as in this plot:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/413503/image.jpeg)
It only works in this graph because there are data points closer to the corners. I want a line that is not dependent on the data, like xline or yline, but has a slope of 1.
Any help is greatly appreciated!
0 个评论
采纳的回答
Star Strider
2020-11-14
I am not certain what you want.
Try this:
x = rand(1,10); % Create Data
y = rand(1,10); % Create Data
figure
plot(x, y, '.')
hold on
plot(xlim, ylim, '--r')
hold off
legend('Data', 'Reference Line', 'Location','SE')
.
5 个评论
Star Strider
2020-11-14
As always, my pleasure!
If any are less than 0, an extension of this idea will work similarly:
plot([min([xlim ylim]) max([xlim ylim])], [min([xlim ylim]) max([xlim ylim])], '--r')
That generalises it to any range.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!