matlab 快速進行不同數據之間的比較——選擇性繪圖 SelectiveDraw

Selective Draw

背景

在開發算法時,經常需要對比不同算法的結果,可能是兩兩比較,也可能是多個數據之間進行比較,更多的情況是需要隨時調整比較哪些數據,而傳統的做法是需要不停地註釋、取消註釋、更改legend等做法,於是封裝了一個小函數,通過這樣的配置即可快速進行不同數據的對比。

使用

代碼已經發在了github上,地址:SelectiveDraw,含有核心函數和測試用例。

%% 測試數據
x = 1:10;
%% Selective Dreaw 配置
config = {};
% figure 的標題
config.name = "Test Selective Draw";
% 需要繪製的數據列表,第一個元素爲該數據的名稱,後面的數據爲需要繪製的一維數組。
config.data = {
  {"a=1", x, x .^ 2, x .^ 3},
  {"a=2", x * 2, x .^ 2 * 2, x .^ 3 * 2},
  {"a=3", x * 3, x .^ 2 * 3, x .^ 3 * 3},
};
% 上方每個元素都有3組數據,這3組數據會形成3個sub figure,他們的sub title 如下:
config.titles = ["a*x"; "a*x^2"; "a*x^3"];
% 只進行1,2之間的對比,這個是核心
config.enable = [1, 2];
% (可選)指定繪圖時的x軸數據
config.x = x;

%% Selective Draw,調用即可繪製
SelectiveDraw(config);

截圖如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章