【问题标题】:Matlab: how do I retrieve the title, the xlabel, the ylabel and font of a plotyy?Matlab:如何检索 plotyy 的标题、xlabel、ylabel 和字体?
【发布时间】:2016-07-12 14:51:17
【问题描述】:

我有一些数字,我想更改:

  1. 标题
  2. xlabel 和 ylabel(字体大小和内容)
  3. 刻度大小。

这是我通常的做法:

title('new title ');
xlhand = get(gca,'xlabel');
set(xlhand,'string','xlabel','fontsize',13);
ylhand = get(gca,'ylabel');
set(ylhand,'string','ylabel','fontsize',13);
set(gca,'FontSize',13);

它通常可以正常工作。但是,当我想编辑使用 ploty 函数制作的绘图时,它不起作用。唯一的影响是我的右 ylabel 改变了。

我知道,由于我现在有两个 ylabels,因此更改它们不会像正常情节那样容易。但是,我很惊讶我无法更改 xlabels 和标题。这是为什么呢?

上述代码与 plotxy 函数有什么问题?我怎样才能让它工作? documentation 不包含任何相关信息。

我正在使用 Matlab R2015a。

编辑:是的,我的意思是 plotyy(我的问题中有一个错字)。以下是文档中的示例代码:

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);

figure % new figure
plotyy(x,y1,x,y2) 

【问题讨论】:

  • 你的意思是plotyy而不是xyplot和plotxy?你能edit你的问题包括生成情节本身的示例代码吗?
  • @Sardar_Usama 好吧,OP 谈到 two ylabels 这意味着必须有两个 y 轴。引用的 Simscape 函数 plotxy 可能只有其中一个,如 here 所示。因此它以某种方式没有意义......因此,当 OP (1) 澄清 (2) 包含用于创建图形的代码时会很好。

标签: matlab plot properties label matlab-figure


【解决方案1】:

如果您查看文档,您可以看到plotyy 可以返回轴句柄。因此,首先,您可以选择获取句柄:

Ax = plotyy(x,y1,x,y2);

现在,Ax(1) 是左侧坐标轴的句柄,Ax(2) 是右侧坐标轴。所以你可以改变他们每个人的属性,例如

set(Ax(1),'FontSize',13);

由于我不完全理解的原因,设置标签是使用完成的

set(get(Ax(1),'YLabel'),'String','Whatever you want...');

编辑:

如果您已经绘制了数据,则可以使用检索句柄

Ax = findobj(gcf,'type','axes')

【讨论】:

  • 我没有说清楚。对此我很抱歉。我前段时间绘制了我的数据并将其保存在 *.fig 文件中。然后我希望能够更改列出的选项。我不想重绘剧情。
  • 谢谢,这有帮助。那么标题和xaxis呢?简单的 title('my title') 不起作用,我不明白,为什么。
  • @user2738748 尝试使用title(Ax(1),'This is a title') 作为标题,使用ylabel(Ax(1),'Left label') 作为左侧标签。对于 x-label,它将是 xlabel(Ax(1),'The x-label')。此外,set(Ax,'FontSize',13) 将直接为两个轴设置字体大小。
【解决方案2】:

来自未使用 getset 的文档:

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);

figure % new figure
hAx = plotyy(x,y1,x,y2);

title('Multiple Decay Rates')
xlabel('Time (\musec)')

ylabel(hAx(1),'Slow Decay') % left y-axis
ylabel(hAx(2),'Fast Decay') % right y-axis

然后改变值

xlabel('New label','fontsize',10)
title('New Title','fontsize',10)
ylabel(hAx(2),'Fast Decay','fontsize',20)
hAx(1).FontSize=5

【讨论】:

    猜你喜欢
    • 2017-07-02
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2014-06-23
    • 2021-11-19
    • 2019-12-23
    相关资源
    最近更新 更多