如何在 Matlab/Origin 上绘制间隔不均匀的数据?
How to plot unevenly spaced data on Matlab / Origin?
我想绘制以下数据:
x-axis: [0,10,50,100,500,1000,1500]
y-axis: [75.6,78,78.2,81.8,84.7,85.2,86.3]
如上所示,x轴上的数据间隔不均匀。当我使用 origin 线性绘制上述数据时,我得到:
我在 Matlab 上也得到了类似的图表。请注意,大多数 Amp
数据位于 x<500
。我想绘制图表,使整个输出(y 轴)变得清晰可见。为此,我尝试使用 对数图 。我在Matlab中将x轴改为对数如下:
set(gca, 'XScale','log');
在 Origin 中,我们可以使用 GUI 将 x 轴更改为对数。得到的图形如下:
得到的图还是不好。有什么想法,请!
非常感谢。
https://www.mathworks.com/help/matlab/ref/semilogx.html
x = [0,10,50,100,500,1000,1500];
y = [75.6,78,78.2,81.8,84.7,85.2,86.3];
semilogx(x,y,'.-', 'markersize', 15);
set(gca,'XTick',x);
set(gca,'XTickLabelRotation',45);
x = [0,10,50,100,500,1000,1500];
y = [75.6,78,78.2,81.8,84.7,85.2,86.3];
y2 = [80,84,85,86,89,90,92];
semilogx(x+1,y,'.-', 'markersize', 15);
set(gca,'XTick',x);
set(gca,'XTickLabelRotation',45);
hold on;
semilogx(x+1,y2,'.-', 'markersize', 15);
hold off;
grid on;
legend('y1','y');
我想绘制以下数据:
x-axis: [0,10,50,100,500,1000,1500]
y-axis: [75.6,78,78.2,81.8,84.7,85.2,86.3]
如上所示,x轴上的数据间隔不均匀。当我使用 origin 线性绘制上述数据时,我得到:
我在 Matlab 上也得到了类似的图表。请注意,大多数 Amp
数据位于 x<500
。我想绘制图表,使整个输出(y 轴)变得清晰可见。为此,我尝试使用 对数图 。我在Matlab中将x轴改为对数如下:
set(gca, 'XScale','log');
在 Origin 中,我们可以使用 GUI 将 x 轴更改为对数。得到的图形如下:
得到的图还是不好。有什么想法,请!
非常感谢。
https://www.mathworks.com/help/matlab/ref/semilogx.html
x = [0,10,50,100,500,1000,1500];
y = [75.6,78,78.2,81.8,84.7,85.2,86.3];
semilogx(x,y,'.-', 'markersize', 15);
set(gca,'XTick',x);
set(gca,'XTickLabelRotation',45);
x = [0,10,50,100,500,1000,1500];
y = [75.6,78,78.2,81.8,84.7,85.2,86.3];
y2 = [80,84,85,86,89,90,92];
semilogx(x+1,y,'.-', 'markersize', 15);
set(gca,'XTick',x);
set(gca,'XTickLabelRotation',45);
hold on;
semilogx(x+1,y2,'.-', 'markersize', 15);
hold off;
grid on;
legend('y1','y');