Ошибка нескольких осей x для одной оси y для графика / полулога (MATLAB R2015b) - PullRequest
0 голосов
/ 15 сентября 2018

Я видел http://www.mathworks.com/help/matlab/creating_plots/graph-with-multiple-x-axes-and-y-axes.html. Они сделали линейный график в примере.Однако я не получаю аналогичных результатов, когда делаю plot / semilogx

Мой MWE:

x1 = [1 2 3];
x2 = [200 500 950];
y = [27 11 59];

plot(x1,y,'m->');
ax1 = gca; % current axes
ax1.XColor = 'k'; ax1.YColor = 'k';

ax1_pos = ax1.Position; % position of first axes
ax2 = axes('Position',ax1_pos,'XAxisLocation','top',...
           'YAxisLocation','right','Color','none');
ax2.YColor = 'none';  
semilogx(x2,y,'Parent',ax2); hold on;

Я получаю перекрывающиеся оси X.Оба заканчивают на дне.Во-вторых, когда я делаю полулог (x2, y, 'Parent', ax2), второй график наносится поверх первого.

Мои требования:

  1. Нижняя ось X находится в линейном масштабе
  2. Верхняя ось X находится в лог-масштабе
  3. Я получаю ошибку, когда добавляю опцию маркера в: semilogx (x2, y, 'Parent', ax2, 'm->');
...