You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Matlab .fig文件中的原始X数据并乘以常数

从Matlab .fig文件修改实际X数据(而非仅刻度标签)

你可以直接从.fig文件中提取图形对象,修改其底层的X数据,具体步骤如下:

  • 打开目标.fig文件,获取图形对象:

    openfig('your_figure.fig'); % 替换成你的文件名
    fig = gcf;
    
  • 获取所有坐标轴对象(单图场景直接用ax = gca;即可;多子图则遍历所有轴):

    axes_list = findobj(fig, 'Type', 'Axes');
    
  • 遍历每个坐标轴,修改其中所有绘图对象的X数据:
    假设你要乘以的常数是k(比如k=1.5),针对不同类型的绘图对象做对应处理:

    k = 1.5; % 替换为你的目标常数
    
    for ax = axes_list'
        % 处理plot绘制的线条类对象
        line_objs = findobj(ax, 'Type', 'Line');
        for line = line_objs'
            x_data = get(line, 'XData');
            set(line, 'XData', x_data * k);
        end
    
        % 处理scatter绘制的散点图对象
        scatter_objs = findobj(ax, 'Type', 'Scatter');
        for scatter = scatter_objs'
            x_data = get(scatter, 'XData');
            set(scatter, 'XData', x_data * k);
        end
    
        % 处理bar绘制的柱状图对象
        bar_objs = findobj(ax, 'Type', 'Bar');
        for bar = bar_objs'
            x_data = get(bar, 'XData');
            set(bar, 'XData', x_data * k);
        end
    end
    
  • 修改完成后,保存修改后的图形:

    savefig(fig, 'modified_figure.fig');
    

如果你的fig文件中还有其他类型的绘图对象(如直方图、误差棒等),可以根据对象类型查找对应的X数据属性(比如误差棒对象ErrorBar的XData属性)进行类似修改。

内容的提问来源于stack exchange,提问作者bubucodex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:52:10