Octave plotyy 仅显示一半的 x 标签
Octave plotyy shows only half the x-lables
我尝试在八度音程中使用 plotyy,但它只显示了一半的 x 标签。我想我只是不明白如何正确使用 xtick 和 xticklables。
xAxis = [800 900 1000 1100 1200 1300 1400 1500 1600 1700];
figure(1, 'Position', [80, 80, 1680, 1050]);
[ax,h1,h2] = plotyy(xAxis, scale1(:,2), xAxis, scale2(:,2));
set(ax,"xtick", [1:10]);
set(ax, "xticklabel", [num2str(xAxis(1)), num2str(xAxis(2)), num2str(xAxis(3)), num2str(xAxis(4)), num2str(xAxis(5)), num2str(xAxis(6)), num2str(xAxis(7)), num2str(xAxis(8)), num2str(xAxis(9)), num2str(xAxis(10))]);
axis on
set(ax, "linewidth", 4, "fontsize", 12)
set(h1,'linewidth',3)
set(h2,'linewidth',3)
grid on
% Add additional text to the figure
x 轴应该以 100 为步长显示从 800 到 1700 的值。但它以 200 为步长显示,因此每隔一个标签就会丢失。
有人知道如何显示所有标签吗?
您必须设置与 xticklabels
一样多的 xticks
,这样您就可以:
set(gca,'xtick', 0:0.1:1, 'xticklabel', xAxis )
但如果你问我,放置与 x 轴的实际值不对应的数字标签会导致灾难。
EDIT 根据您的评论,您似乎只想在现有范围内指定更多刻度。这是一个例子。请注意 ax
是一个数组。您只需为两个轴之一指定刻度。
xAxis = [800 900 1000 1100 1200 1300 1400 1500 1600 1700];
scale1 = [xAxis.', xAxis.']; scale2 = scale1.^0.5; % example data
[ax,h1,h2] = plotyy(xAxis, scale1(:,2), xAxis, scale2(:,2));
set(ax(1),"xtick", xAxis);
set(ax(2),"xtick", []);
我尝试在八度音程中使用 plotyy,但它只显示了一半的 x 标签。我想我只是不明白如何正确使用 xtick 和 xticklables。
xAxis = [800 900 1000 1100 1200 1300 1400 1500 1600 1700];
figure(1, 'Position', [80, 80, 1680, 1050]);
[ax,h1,h2] = plotyy(xAxis, scale1(:,2), xAxis, scale2(:,2));
set(ax,"xtick", [1:10]);
set(ax, "xticklabel", [num2str(xAxis(1)), num2str(xAxis(2)), num2str(xAxis(3)), num2str(xAxis(4)), num2str(xAxis(5)), num2str(xAxis(6)), num2str(xAxis(7)), num2str(xAxis(8)), num2str(xAxis(9)), num2str(xAxis(10))]);
axis on
set(ax, "linewidth", 4, "fontsize", 12)
set(h1,'linewidth',3)
set(h2,'linewidth',3)
grid on
% Add additional text to the figure
x 轴应该以 100 为步长显示从 800 到 1700 的值。但它以 200 为步长显示,因此每隔一个标签就会丢失。
有人知道如何显示所有标签吗?
您必须设置与 xticklabels
一样多的 xticks
,这样您就可以:
set(gca,'xtick', 0:0.1:1, 'xticklabel', xAxis )
但如果你问我,放置与 x 轴的实际值不对应的数字标签会导致灾难。
EDIT 根据您的评论,您似乎只想在现有范围内指定更多刻度。这是一个例子。请注意 ax
是一个数组。您只需为两个轴之一指定刻度。
xAxis = [800 900 1000 1100 1200 1300 1400 1500 1600 1700];
scale1 = [xAxis.', xAxis.']; scale2 = scale1.^0.5; % example data
[ax,h1,h2] = plotyy(xAxis, scale1(:,2), xAxis, scale2(:,2));
set(ax(1),"xtick", xAxis);
set(ax(2),"xtick", []);