给我一个能够编辑线条线宽,颜色的绘制多条曲线的MATLAB代码
时间: 2024-02-22 13:56:13 浏览: 130
matlab绘制多条曲线
以下是一个绘制多条曲线并可编辑线条线宽和颜色的MATLAB代码:
```matlab
% 创建一个图形窗口
figure();
% 设置默认的线条线宽和颜色
defaultLineWidth = 1;
defaultLineColor = 'blue';
% 绘制第一条曲线
x1 = 1:0.1:10;
y1 = sin(x1);
h1 = plot(x1, y1, 'LineWidth', defaultLineWidth, 'Color', defaultLineColor);
% 绘制第二条曲线
hold on;
x2 = 1:0.1:10;
y2 = cos(x2);
h2 = plot(x2, y2, 'LineWidth', defaultLineWidth, 'Color', defaultLineColor);
% 添加一个可编辑的线条线宽和颜色的UI控件
uicontrol('Style', 'text', 'String', 'Line Width:', 'Position', [10 10 70 20]);
lineWidthSlider = uicontrol('Style', 'slider', 'Min', 0.5, 'Max', 5, 'Value', defaultLineWidth, 'Position', [90 10 120 20]);
uicontrol('Style', 'text', 'String', 'Line Color:', 'Position', [220 10 70 20]);
lineColorPopup = uicontrol('Style', 'popupmenu', 'String', {'blue', 'red', 'green', 'yellow'}, 'Position', [290 10 100 20]);
% 添加一个回调函数,当用户改变线条线宽和颜色时更新图形
set(lineWidthSlider, 'Callback', @(src, event)updateLine(h1, h2, lineWidthSlider, lineColorPopup));
set(lineColorPopup, 'Callback', @(src, event)updateLine(h1, h2, lineWidthSlider, lineColorPopup));
function updateLine(h1, h2, lineWidthSlider, lineColorPopup)
% 获取用户选择的线条线宽和颜色
lineWidth = get(lineWidthSlider, 'Value');
lineColor = get(lineColorPopup, 'String');
lineColor = lineColor{get(lineColorPopup, 'Value')};
% 更新第一条曲线的线条线宽和颜色
set(h1, 'LineWidth', lineWidth, 'Color', lineColor);
% 更新第二条曲线的线条线宽和颜色
set(h2, 'LineWidth', lineWidth, 'Color', lineColor);
end
```
这个代码会绘制两条正弦曲线和余弦曲线,并在窗口底部添加一个可编辑的线条线宽和颜色的UI控件。当用户改变线条线宽和颜色时,回调函数 `updateLine` 会更新图形中的所有曲线的线条线宽和颜色。
阅读全文