背景:
如果想要得到下图类似的效果,可以使用以下代码。
clc; clear;
% 数据
k1 = 1.58*10^-7;
k2 = 6.68*10^-7;
x = 1000:500:3000;
y = k1*x.^3/1000;
z = k2*x.^3/1000;
% 绘制原始线条
figure;
plot(x, y, 'b', 'LineWidth', 2);
hold on;
plot(x, z, 'r', 'LineWidth', 2);
% 填充两条线之间的区域
% 组合两条线的数据
X = [x, fliplr(x)];
Y = [y, fliplr(z)];
% 使用fill函数填充区域
fill(X, Y, 'g', 'FaceAlpha', 0.3);
% 添加标签和标题
xlabel('内径(mm)');
ylabel('重量(ton)');
title('内径及重量分布区间');
legend('质量下限', '质量上限', '分布区间');
hold off;
下面是代码的解释
figure;
创建一个新的图形窗口。plot(x, y, 'b', 'LineWidth', 2);
绘制一条蓝色的线,表示质量下限,线宽为2。hold on;
保持当前图形,允许在同一个坐标轴上绘制多条线或图形。plot(x, z, 'r', 'LineWidth', 2);
绘制一条红色的线,表示质量上限,线宽为2。X = [x, fliplr(x)];
和Y = [y, fliplr(z)];
这两行代码将x和y的数据复制并翻转,以便用于填充区域。fill(X, Y, 'g', 'FaceAlpha', 0.3);
使用绿色填充两条线之间的区域,透明度设置为0.3。xlabel('内径(mm)');
设置x轴的标签。ylabel('重量(ton)');
设置y轴的标签。title('内径及重量分布区间');
设置图形的标题。legend('质量下限', '质量下限', '分布区间');
设置图例hold off;
释放图形,允许开始新的图形绘制。