如何在matlab中改进带绘图的图形?

如何在matlab中改进带绘图的图形?,matlab,graphic,Matlab,Graphic,我需要绘制两个数据非常接近的阵列。 如何提高图形的性能 我想缩小直线图 从注释中,您可以进行某种插值、平滑或点的子采样。让我们来看看所有的方法: 方法1-二次抽样 这很容易做到。假设两个数据点都存储在x和y中,则可以指定从数据中采样的频率。如果您想每10个点采样一次作为示例,您可以执行以下操作: xsample = x(1:10:end); ysample = y(1:10:end); plot(xsample, ysample); plot将在每个点之间线性插值。这是绘图的默认行为 方法2

我需要绘制两个数据非常接近的阵列。 如何提高图形的性能 我想缩小直线图


从注释中,您可以进行某种插值、平滑或点的子采样。让我们来看看所有的方法:

方法1-二次抽样 这很容易做到。假设两个数据点都存储在
x
y
中,则可以指定从数据中采样的频率。如果您想每10个点采样一次作为示例,您可以执行以下操作:

xsample = x(1:10:end);
ysample = y(1:10:end);
plot(xsample, ysample);
plot
将在每个点之间线性插值。这是
绘图的默认行为

方法2-插值(非线性) 您可以像上面那样对点进行二次采样,然后使用
interp1
在“关键点”之间进行插值。假设您要执行
样条线插值。因此:

yinterp = interp1(xsample, ysample, x, 'spline');
plot(x, ysample);
方法3-平滑 如果您有曲线拟合工具箱,则可以使用
平滑
功能。
平滑
函数的默认行为是移动平均值。它基本上在一个有限大小的窗口内获取您的点,对它们进行平均,这就是一个样本的输出。平均值为您提供的输出是数据的平滑版本。默认窗口的宽度为5,但您可以指定所需的跨度

ysmooth = smooth(y); %// or you can do ysmooth = smooth(y, N); 
                     %// where N is the size of your smoothing window
plot(x, ysmooth);
NB:
N
必须是一个奇数数字(1、3、5等)


希望这些方法中的一种能对你有用

将图片上传到某个地方并链接到这里?将您的图片放在公共共享网站上,我将编辑您的帖子。还有,你说的“减少线图”是什么意思?我添加了链接。我指的是不太详细的图表……你说的“不太详细”是什么意思?你想降低数据的分辨率吗?是的,降低分辨率或进行插值对不起,我没有足够的声誉来投票。我是新用户