gpt4 book ai didi

matlab - plotyy 的单独线条和轴样式

转载 作者:太空宇宙 更新时间:2023-11-03 20:33:51 25 4
gpt4 key购买 nike

我试着用两个 YAxis 像这样创建一个图:

x=linspace(0,20);
y1=linspace(10,10);
y2=x.^2;
y3=y2-y1;
[hAx,hLine1,hLine2]=plotyy([x',x'],[y1',y2'],x,y3);

现在这段代码有两个问题:

  1. 例如,我可以使用 hLine1.LineStyle = ':'; 更改两条 hLine 的线条样式,但我无法更改 hLine1 组成的两条线的样式。有人知道怎么做吗?
  2. 我无法使用 hLine2.YLim = [0 100] 手动调整第二个 y 轴上显示的 y 限制。

在我无法使用 plotyy 解决问题后,我搜索了 MATLAB 文档并找到了另一种实现我的绘图的方法,我认为这可能更容易处理:

x=linspace(0,20);
y1=linspace(10,10);
y2=x.^2;
y3=y2-y1;

figure
hold on;
line(x,y1,'Color','r')
line(x,y2,'Color','y')
ax1 = gca;
ax2 = axes('Position',ax1.Position,'YAxisLocation','right');
line(x,y3,'Parent',ax2,'Color','b')

这里的问题是,它甚至不显示第一行和第二行,只显示第三行,我不知道为什么。我更愿意使用 plotyy 解决问题,但如果这不可能,我也希望能为第二段代码提供解决方案。

最佳答案

我想你没有注意到 plotyy 的输出是对象数组,而不是单个对象。

x=linspace(0,20);
y1=linspace(10,10);
y2=x.^2;
y3=y2-y1;

[hAx,hLine1,hLine2]=plotyy([x',x'],[y1',y2'],x,y3);
hLine1(1).LineStyle = '--';
hLine1(2).LineStyle = ':';

% either this
ylim( hAx(2), [0 110] );

% or alternatively
f=gcf; ylim( f.Children(2), [0 110] );

关于matlab - plotyy 的单独线条和轴样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32561890/

25 4 0
文章推荐: C# 一次读取一个字节的十六进制文件
文章推荐: html - 水平对齐
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com