Черные линии отсутствуют в рамке, содержащей оси графика MATLAB - PullRequest
7 голосов
/ 19 марта 2012

При нанесении на фигуру в MATLAB я заметил, что части черного ящика, в котором находятся оси, отсутствуют (левый и нижний):

enter image description here

Я попытался выдать:

box off
box on

команд безуспешно. Вы знаете, что я могу сделать, чтобы получить соответствующие черные линии на осях?

Примечание:

Я использую рендерер OpenGL:

set(0,'DefaultFigureRenderer','opengl');

Ответы [ 4 ]

2 голосов
/ 25 января 2013

Попробуйте немного увеличить ширину линии осей:

set(gca, 'LineWidth', 1.2)

Кроме того, переключение с аппаратного (по умолчанию) на программное рендеринг может решить проблему:

opengl software

Однако,Там могут быть недостатки.Увеличение ширины линии, например, изменяет все линии осей, включая тики.

1 голос
/ 23 ноября 2014

Используйте следующую строку кода для отображения черных линий

set (gca, 'Layer', 'top')

0 голосов
/ 18 ноября 2016

Будучи перфекционистом, эта ошибка беспокоила меня годами! Это то, что, кажется, работает, MATLAB R2013a:

  1. У меня отключен OpenGL (выдает странное поведение): set(0,'DefaultFigureRenderer','zbuffer')
  2. Я добавляю прямоугольник непосредственно перед тем, как что-то построить, и сразу после того, как я заканчиваю чертить:

    axes(handles.MyAxes);
    
    cla;
    
    hold off;  
    box on;
    hold on;
    
    % Do your plotting...
    % scatter(...);
    % plot(...);
    % ...
    
    box on;
    
  3. Я также заметил, что если первая команда plot, то ошибка все еще может присутствовать. В этом случае я строю только одну точку, используя scatter с белым цветом (делает ее невидимой), а затем использую plot. То есть scatter(x(1),y(1),1,'MarkerEdgeColor','w','MarkerFaceColor','w'), а затем plot(x,y,...).

Мой ответ на самом деле относится к пропущенным линиям прямоугольника при построении фигуры GUIDE . У меня никогда не было этой проблемы при использовании обычных команд figure() и затем plot(...).

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...