Skip to content

【修改代码】在data_recording.py的__line_data_draw方法中加入了一个分支判断,用以暂时处理Line数据的画图

        elif 'Line' in event.scan_plan.scan_channel[0] #只对第一个通道是Line数据时生效 #修改
            
            xs = event.data.data[0][:,0] #修改
            yss = event.data.data[0][:,1:] #修改
            # yss = [event.data[:, i] for i in range(1, event.data.shape[1])]  # type: ignore

            env_str = env_channel_str(event.scan_plan.record_env_channel, event.instrument_manager)
            scan_channel_names = [event.instrument_manager.get_channel_strong(idx).name for idx in event.scan_plan.scan_channel]
            with MatplotlibBackendEnv('agg'):
                for i in range(len(yss[0])):
                    fig, ax = plt.subplots(**self.fig_config)
                    fig.suptitle(event.scan_plan.name + '\n' + event.timestamp.strftime(scan_config['time_format']), fontweight='bold')
                    ax.plot(xs, yss[:, i], **self.plot_config)
                    ax.set_xlabel(event.scan_plan.axes[0].name)
                    ax.set_ylabel(scan_channel_names[0])#修改
                    ax.set_title(env_str)
                    fig.savefig(os.path.join(path, '{name}[x]={value}[{0:d}].png'.format(i + 1, value=event.current_axis_stack[-1], name=event.scan_plan.axes[0].name)), **self.save_config)
                    plt.close(fig)