matlab - 在两个 yaxes 上指定次要刻度
问题描述
我有两个不同的 yaxes 的情节,我试图在两者上设置 MinorTickValues。我可以在两个轴上打开它们,效果很好。但是,当我指定它们的位置时,它们会在另一个轴上消失。
V = horzcat((-2:0.1:2), (2:-0.1:-2));
t = (0:0.01234568:1.01);
T = (0:25:2025);
figure(30);
yyaxis right
plot(t ,V, 'Linewidth',3); hold all;
xlabel('Time / s');ylabel('Voltage / V');
set(gca,'FontSize',fontsize, 'LineWidth',2,'TickLength',[0.025 0.025])
xticks([0., 0.25, 0.5, 0.75, 1]);
ylim([-2, 2]),
ax = gca;
ax.XAxis.MinorTick = 'on';
ax.XAxis.MinorTickValues = (0:0.05:1);
set(ax.YAxis, 'MinorTick', 'on')
set(ax.YAxis, 'MinorTickValues', (-2:0.25:2))
yyaxis left
top = plot(t ,T, 'Linewidth',3); hold all;
xlabel('Time / s');ylabel('Temperature / K');
ax = gca;
%ax.YAxis.MinorTick = 'on';
%ax.YAxis.MinorTickValues = (250:50:650);
set(ax.YAxis, 'MinorTick', 'on')
set(ax.YAxis, 'MinorTickValues', (250:50:650))
chH = get(gca,'Children');
set(gca,'Children',[chH(end);chH(1:end-1)]);
uistack(top, 'top');
现在的样子:
当在左轴上设置 MinorTickValues 时,右轴上的 MinorTicks 消失,反之亦然。
非常感谢任何帮助。
解决方案
在 yyaxis 的文档中,它说“一个例外是 Axes 对象的 YAxis 属性包含两个标尺对象的数组(每个 y 轴一个)。” 所以你应该可以用 ax.YAxis(1), ax.YAxis(2) 改变刻度
fontsize = 10;
V = horzcat((-2:0.1:2), (2:-0.1:-2));
t = (0:0.01234568:1.01);
T = (0:25:2025);
figure(30);
yyaxis right
plot(t ,V, 'Linewidth',3); hold all;
xlabel('Time / s');ylabel('Voltage / V');
set(gca,'FontSize',fontsize, 'LineWidth',2,'TickLength',[0.025 0.025])
xticks([0., 0.25, 0.5, 0.75, 1]);
ylim([-2, 2]),
yyaxis left
top = plot(t ,T, 'Linewidth',3); hold all;
xlabel('Time / s');ylabel('Temperature / K');
chH = get(gca,'Children');
set(gca,'Children',[chH(end);chH(1:end-1)]);
% uistack(top, 'top');
ax = gca;
ax.YAxis(2).MinorTick = 'on';
ax.YAxis(2).MinorTickValues = 0:0.05:1;
ax.YAxis(1).MinorTick = 'on';
ax.YAxis(1).MinorTickValues = 250:50:650;
推荐阅读
- c++ - 打印二维数组
- javascript - 画布中的 Progresswheel 类型的东西不会以所需的百分比停止。开始未定义的价值
- java - 在 Spring Boot 和 Activiti 中创建名为“processEngine”的 bean 时出错
- laravel - Heroku“指定的超时已过期”在具有基本身份验证的laravel应用程序中
- c# - 将美国日期转换为英国日期格式 C#
- ios - 如何使下载按钮在 WKWebView 中工作
- java - 在java中的循环中将char转换为字符串,然后将其设置为JtextField
- wordpress - React/WordPress PWA 在离线时不响应 200
- java - @CreationTimestamp 和 @UpdateTimestamp 不适用于 LocalDateTime
- html - 弹性项目不进入下一行(不换行)