Origin 3D方框线

因为场景需要,很多时候我们得把3D图的框线描出来。

方案一

这个时候双击坐标轴,勾上"每个方向使用一条轴",这样好调些:

可以直接把对应位置的轴刻度去掉(显示轴线和刻度线,主刻度、次刻度样式选无),当方框线:

其实,长方体有8条边,通过双轴的方式,前、后、下、 上、左、右轴加起来也就6条边,另外2条边得通过特殊刻度线去加了:

方案二

直接用立方体框线:

优点:在对框线没有更多要求的情况下非常方便;缺点:各条线是一样的,不支持更细节的自定义调整。

进阶

按照右边的参数去配置图,就能达到左边这种效果。有种"深度学习感知"的高级感

也可以留一个平面,通过对比进行突出:

参考程序

python 复制代码
%zhouzhichao
%25年7月2日
%生成单个信号的时频图便于分析

clear
clc
close all

list = [  2,   6;
    0.3,   4;
    0.17 , 2;
    0.125, 0;
    0.07, -2;
    0.05, -4;];

base = 'D:\实验室\论文\论文-多信号参数估计\JCR3\Principle\微调原理\diff_snr\snr_dataset';
index = [0.1,0.2,0.3,0.4];
start_n = 231;

labels_initial = zeros(4, 5); % 初始化标签,4行5列
%SFM,BPSK,LFM,FRANK分别对应0,1,2,3
%SFM
labels_initial(1,1)=0;labels_initial(1,2)=0.518;labels_initial(1,4) = 0.775;
%BPSK
labels_initial(2,1)=1;labels_initial(2,2)=0.518;labels_initial(2,4) = 0.775;
%LFM
labels_initial(3,1)=2;labels_initial(3,2)=0.518;labels_initial(3,4) = 0.775;
%FRANK
labels_initial(4,1)=3;labels_initial(4,2)=0.518;labels_initial(4,4) = 0.775;

num = 1;

%信号生成:
index_rd = index(randperm(length(index)));%给每类信号随机分配频点
[s1,h1] = mysigduo(0.25,'SFM');
[s2,h2] = mysigduo(index_rd(2),'BPSK');
[s3,h3] = mysigduo(index_rd(3),'LFM');
[s4,h4] = mysigduo(index_rd(4),'FRANK');

% S_raw = 3.1*s1 + 2.5*s2 + s3 + 2.5*s4;
S_raw = 3.1*s1;

labels = labels_initial; % 初始化标签,4行5列
%SFM,BPSK,LFM,FRANK分别对应0,1,2,3
%SFM
labels(1,3) = (index_rd(1)*2*535+49)/656;labels(1,5) = h1*2*535/656;
%BPSK
labels(2,3) = (index_rd(2)*2*535+49)/656;labels(2,5) = 0.034;
%LFM
labels(3,3) = (index_rd(3)*2*535+49)/656;labels(3,5) = h3*2*535/656;
%FRANK
labels(4,3) = (index_rd(4)*2*535+49)/656;labels(4,5) = 0.04;


snr_i=1;

%信号加噪:
snr = list(snr_i, 2);

disp(["n: ",num, "  snr: ",snr])

S = list(snr_i, 1)*S_raw + ones(size(S_raw));


%生成时频图:
[tfr,t,f] = tfrctfd2(S);

%生成3D时频图:
% 获取幅度
tfr_asb = abs(tfr);

% 计算最大值,用于caxis
level = max(max(tfr_asb(:, 200:800)));
new_t = t / 1000;  % 将t轴的值缩小1000倍
tfr_asb = tfr_asb/max(tfr_asb(:));
% 创建三维图形
figure;
surf(new_t, f, tfr_asb, 'EdgeColor', 'none'); % 使用surf来创建3D图

xlim([0,1])
ylim([0,0.5])
% 设置x轴的刻度

% 设置轴标签
xlabel('Normalized Time');
ylabel('Normalized Frequency');
zlabel('Normalized Amplitude');

% 调整视角
view(3); % 设置为3D视角

% 可选:暂停使图形实时更新
pause(0.05);

set(gca, 'FontName', 'Times New Roman');

save("D:\实验室\论文\论文-多信号参数估计\JCR3\Principle\Mechanisms\tfr_asb.mat",'tfr_asb')