Как я могу добавить вертикальные линии к моей матрице путаницы, созданной с помощью Matlab?

fgets добавляет новую строку в строку, поэтому вы получите bob\n\0, который не совпадает с bob\0.

0
задан baddy 17 January 2019 в 16:42
поделиться

2 ответа

Используйте другой объект axes

Классический трюк MATLAB, когда приходится иметь дело с различными axes свойствами. По сути, мы собираемся создать новый объект axes, поместить его поверх драгоценного, а затем сделать его прозрачным (без цвета фона), чтобы мы могли видеть, что позади, но мы будем держать линии сетки хорошо видимыми там, где мы хотим их.

Так сразу после вашего примера кода добавьте:

ax1 = gca  ; % get handle of initial axes
ax2 = axes ; % create new axe and retrieve handle

lim = [0 numlabels] ; % Prepare X and Y properties
tks = 0:numlabels ;

% superpose the new axe on top, at the same position
set(ax2,'Position', get(ax1,'Position') );

% make it transparent (no color)
set(ax2,'Color','none') ;

% set the X and Y properties
set(ax2, ...
    'XLim',lim,'XTick',tks,'XTickLabel','' ,...
    'YLim',lim,'YTick',tks,'YTickLabel','' ) ;

% now set your grid properties
set(ax2,'GridColor','k','GridAlpha',1)

Это даст вам ( данные немного отличаются, потому что я случайно сгенерировал матрицу путаницы ):

[1121 ] enter image description here

Конечно, теперь у вас есть полный контроль над линиями сетки, поэтому вы также можете уточнить, как они выглядят через свойства сетки axes. Несколько интересных свойств:

  • GridLineStyle - Стиль линий для линий сетки
  • GridColor - Цвет линий сетки
  • GridAlpha - Сетка- прозрачность линии
  • LineWidth - Ширина линии

Для получения дополнительной информации см. документацию по Свойства осей

0
ответ дан Hoki 17 January 2019 в 16:42
поделиться

Хорошо! Я нашел запрошенную вещь для получения вертикальной и горизонтальной линии, которая просто добавляет линии, используя plot и удерживая:

Я использовал следующий код в конце упомянутого в моем вопросе: [ 112]

hold on
plot ([2 2],get(gca, 'YLim'), 'Color', [0.15, 0.15, 0.15],'LineWidth',0.5)
plot ([1 1],get(gca, 'YLim'), 'Color', [0.15, 0.15, 0.15],'LineWidth',0.5)
plot ([3 3],get(gca, 'YLim'), 'Color', [0.15, 0.15, 0.15],'LineWidth',0.5)
plot ([4 4],get(gca, 'YLim'), 'Color', [0.15, 0.15, 0.15],'LineWidth',0.5)

plot (get(gca, 'XLim'), [1 1], 'Color', [0.15, 0.15, 0.15],'LineWidth',0.5)
plot (get(gca, 'XLim'), [2 2], 'Color', [0.15, 0.15, 0.15],'LineWidth',0.5)
plot (get(gca, 'XLim'), [3 3], 'Color', [0.15, 0.15, 0.15],'LineWidth',0.5)
plot (get(gca, 'XLim'), [4 4], 'Color', [0.15, 0.15, 0.15],'LineWidth',0.5)

Я использовал 1, 2, 3 и 4, потому что у меня есть четыре класса, и в конце каждого результата прогнозирования класса мне нужно построить линию. Надеюсь, что это будет полезно

0
ответ дан baddy 17 January 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: