Я хотел бы визуализировать функцию двух переменных в контурном графике, используя Octave, и наложить на нее настраиваемые метки линий.
Основываясь на документации Octave, я написал:
clf;
colormap ("default");
[x, y, z] = peaks ();
subplot(2,1,1);
contour (x, y, z,'showtext', 'on');
title ({"contour() plot, showtext on"; "Z = peaks()"});
subplot(2,1,2);
[ctr, h] = contour (x, y, z);
cll = clabel(ctr, h, 'backgroundcolor',[1 1 1]);
title ({"contour() plot, using clabel()"; "Z = peaks()"});
![Two more or less identical plots produced by the code snippet above](https://i.stack.imgur.com/cfF8o.png)
, который дает два лишь незначительно (если вообще) разных графика.Этикетки есть, но выглядят не очень хорошо;Мне нужно лучшее качество для этого проекта.
Что я хотел бы сделать, это в порядке приоритета:
- Показывать метки только с 2 - 3 десятичными цифрами.
- Измените фон метки на белый.
- Нанесите метки на линию с контурной линией.
Из документации Octave видно, что значения меток хранятся в "userdata"
, но этоне очень помогает, потому что:
>> get(cll, "userdata")
ans =
{
[1,1] = 6.7459
[2,1] = 5.4167
[3,1] = 5.4167
[4,1] = 4.0874
[5,1] = 4.0874
[6,1] = 2.7581
[7,1] = 2.7581
[8,1] = 2.7581
[9,1] = 2.7581
[10,1] = 1.4289
[11,1] = 1.4289
[12,1] = 1.4289
[13,1] = 1.4289
[14,1] = 0.099636
[15,1] = 0.099636
[16,1] = 0.099636
[17,1] = 0.099636
[18,1] = 0.099636
[19,1] = 0.099636
[20,1] = -1.2296
[21,1] = -1.2296
[22,1] = -1.2296
[23,1] = -1.2296
[24,1] = -2.5589
[25,1] = -2.5589
[26,1] = -2.5589
[27,1] = -3.8881
[28,1] = -5.2174
Я не уверен, как определяется количество повторений для значения.Буду признателен за помощь в этом вопросе.