我想针对某些数据绘制与另一个x轴(顶部)的值对应的x轴(机器人)。我希望top和bot轴指向相同的数据点。以下代码演示了我的问题
clc; clear all;
botXaxis = [2.54 1.61 1.00 0.61 0.37];
topXaxis = [159283 97232 59354 36232 22117];
data = [10 10 10 10 10];
hplot = plot(botXaxis,data);
set(hplot,'Linestyle','none','Marker','o');
ax1 = gca;
ax1.XScale = 'log';
ax1.XTick = fliplr(botXaxis);
ax1.XLim = [min(botXaxis) max(botXaxis)];
ax1.XTickLabel = fliplr(botXaxis);
hold on
plot1 = plot([botXaxis(3) botXaxis(3)],get(ax1,'YLim'),'--','color',[0 0 0]);
ax1_pos = ax1.Position;
ax2 = axes('Position',ax1_pos,'XAxisLocation','top','YAxisLocation','right','Color','none');
ax2.XScale = 'log';
set(ax2, 'XTickMode', 'manual');
ax2.XLim = [min(topXaxis) max(topXaxis)];
ax2.XTickMode = 'auto';
ax2.XTick = fliplr(topXaxis);
hold on
plot1 = plot([topXaxis(3) topXaxis(3)],get(ax1,'YLim'),'-','color',[0 0 0]);
% Fix double tick marks
set(ax1,'box','off');
如果你运行它,会出现这个图:
我绘制了直线以查看数据是否正确排列。如你所见,他们没有。我想知道是否有办法解决这个问题? data
的值应与topXaxis
和botXaxis
对齐。
由于