Я использую BNT-toolbox, большую библиотеку, написанную на Matlab для вывода в байесовских сетях.
Мне пришлось добавить этот набор инструментов в путь к MATLAB. Но после этого я больше не могу использовать функцию legend
по умолчанию.
Я думаю, что эта библиотека может иметь свою собственную функцию legend
, заменяющую функцию по умолчанию. Как я могу вручную сообщить MATLAB, что мне нужен исходный, а не тот, который находится в новом наборе инструментов?
Пробовал в Matlab 2018b и 2020a
EDIT: для его воспроизведения:
Когда я запускаю тестовый скрипт, он показывает строки и легенду.
https://github.com/bayesnet/bnt, это тот набор инструментов, о котором я говорил. Я загрузил его, разархивировал, а затем добавил в свой путь с помощью Home -> Set path -> добавить папку с подпапкой
Когда я сейчас запускаю скрипт, он показывает строки, а не легенда.
ПРИМЕЧАНИЕ: когда я попробовал другой способ построения графика (см. тестовый сценарий 2), легенда снова появляется. Итак, это рабочий «обходной путь»
Testscript1: (расположение: C: \ Users \ TomDe \ Downloads \ FullBNT-1.0.7 \ bnt \ own \ testscript1.m)
x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)
hold on
y2 = cos(2*x);
plot(x,y2)
legend('cos(x)','cos(2x)')
Тестовый скрипт2
% Some other code
tiledlayout(2,1)
nexttile
plot(inputPath)
hold on
plot(sensorPath)
plot(inputInference)
hold off
title('The Input sequence and sensor readings ')
legend('Path', 'sensor', 'Inference')