一个matlab绘图的小问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个matlab绘图的小问题相关的知识,希望对你有一定的参考价值。

h=[20,3,2008];
a='我的';
b='生日';
x=0:0.01:3;
y=x^2;
xx=[1,2]

要求:
画出函数y=x^2的图形
标题为:“我的生日是2008年3月20日” 程序中需要用h,a,b来代表相应的部分
画出辅助线:用实线画:(0,y(x=1))-(1,y(x=1))-(1,0)
用虚线画:(0,y(x=2))-(2,y(x=2))-(2,0)
标注点:(1,y(x=1))和(2,y(x=2))
在纵轴上显示:“1”和“4”
在横轴上显示:“1”和“2”

x=1:0.01:2.5;
y=x.^2;
a=[0 1 1];
b=[1 1 0];
a2=[0 2 2];
b2=[4 4 0];
plot(x,y,a,b,a2,b2,'--')
xlabel('自变量X')
ylabel('函数Y')
title('我的生日是2008年3月20日')
gtext('(1,1)');
gtext('(2,4)')

看看行不行
参考技术A 用实线画:(0,y(x=1))-(1,y(x=1))-(1,0) ??
什么东东?

X轴缩放与matlab绘图

【中文标题】X轴缩放与matlab绘图【英文标题】:X axis scaling with matlab plotting 【发布时间】:2011-12-16 07:16:04 【问题描述】:

我的数据很稀疏,因此当我绘制图表时,我得到以下结果

如您所见,第一个 x 轴刻度从 500(s) 开始,但我的大部分数据都在 30(s) 左右。我可以改变 x 轴的缩放比例吗?

【问题讨论】:

您可以使用semilogx 代替plot 使x 轴对数。 【参考方案1】:

这个怎么样?

X = [1 3 6 10 25 30 235 678 1248];
Y = [0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.8 0.9];
plot(X,Y,'-b.')
figure
semilogx(X,Y,'-b.')

我看到以下输出:

【讨论】:

【参考方案2】:

如果您只想显示 0 到 30 秒的数据,您可以只绘制这样的数据:

idcs=Xdata <30; %# find indices where X is less than 30s
plot(Xdata(idcs),Ydata(idcs),'b'); %#plot only these data.

或者你可以在图中直接表示XLimits。

plot(Xdata,Ydata,'b'); %# plot everything
set(gca,XLim,[0 30]);  %# limit display on X axis

【讨论】:

我不希望只有0-30,我希望所有的数据都显示出来。

以上是关于一个matlab绘图的小问题的主要内容,如果未能解决你的问题,请参考以下文章

怎样用matlab进行列向量归一化?

python matplotlib oybn的小论文绘图代码

MATLAB | 特殊绘图小合集 | 渐变面积图环形树状图不规则等高线填充图

MATLAB | 特殊绘图小合集 | 渐变面积图环形树状图不规则等高线填充图

MATLAB | 特殊绘图小合集 | 金字塔图类桑基图y轴分段填充折线图

感受python之美,python简单易懂的小例子