matlab - 如何保存已编辑的 uitable?
问题描述
在一个函数中,我以编程方式创建了一个带有绘图的可编辑 uitable。每当单元格值发生变化时,绘图就会更新。我想将新编辑的表格设置为输出。到目前为止我的代码:
function outputTable = begrenzung()
t = table(Drehzahl, Drehmoment, 'RowNames',{'Startpunkt' 'P1' 'P2' 'P3' 'Endpunkt'});
fig = uifigure;
fig.Position(3:4) = [822 360];
uit = uitable(fig,'ColumnEditable',true);
uit.Data = t;
uit.FontSize = 10;
uit.FontWeight = 'bold';
uit.ColumnEditable = true;
uit.Position(3) = 375;
ax = uiaxes(fig);
ax.Position(1) = 415;
ax.YLabel.String = 'Drehmoment [Nm]';
ax.XLabel.String = 'Drehzahl [rpm]';
x = t{:,1};
y = t{:,2};
area(ax,x,y);
ax.XLim = [0 45];
ax.YLim = [0 2000];
ax.Title.String = 'Feld der gefahrenen Punkte';
uit.CellEditCallback = @updatePlot;
function outputTable = updatePlot(src,event)
area(ax,uit.Data{:,1},uit.Data{:,2});
end
end
每次值更改后如何保存更新的 uitable?
解决方案
我找到了一个解决方案,即使这可能不是优雅的方式:
function [outputTable] = begrenzung()
t = table(Drehzahl, Drehmoment,...
'RowNames',{'Startpunkt' 'P1' 'P2' 'P3' 'P4' 'Endpunkt'});
fig = uifigure;
fig.Position(3:4) = [822 360];
uit = uitable(fig);
uit.Data = t;
uit.FontSize = 10;
uit.FontWeight = 'bold';
uit.ColumnEditable = true;
uit.Position(3) = 375;
ax = uiaxes(fig);
ax.Position(1) = 415;
ax.YLabel.String = 'Drehmoment [Nm]';
ax.XLabel.String = 'Drehzahl [rpm]';
x = t{:,1};
y = t{:,2};
fill(ax,x,y,'c');
ax.XLim = [0 45];
ax.YLim = [0 2000];
ax.Title.String = 'Feld der gefahrenen Punkte';
uit.CellEditCallback = @updatePlot;
function [test] = updatePlot(src,event)
fill(ax,uit.Data{:,1},uit.Data{:,2},'c');
outputTable = uit.Data;
end
outputTable = uit.Data;
uiwait(fig);
end
这样,我的输出就是更改后的表
推荐阅读
- python - 读取 CSV 文件中的多个不同列,并将不同的列名匹配到一个统一变量
- c# - 如果 SQL 搜索查询未能找到值,如何显示消息
- python - Pip 升级 cv2
- c++ - 请求从“Point*”转换为非标量类型“Point”
- c++ - 我为 Evil Hangman 的构造函数遗漏了什么吗?
- react-native - 如何设置标题的背景视图
- google-apps-script - 如何在将在数组内工作的方法中设置参数?(谷歌应用脚本)
- java - 使用 Spring RetryTemplate 时获取当前退避值
- python - 如何将打印的 for 循环值写入 csv 文件?
- python - Python - 当数据不是数字时如何从 csv 文件制作条形图