如何更改图形中文本的字体大小?

6.711次观看(过去30天)
我在函数中使用“set(gca,'fontsize', 18);”来更改图形中的字体。我的代码没有抛出错误,但也没有改变字体大小。我可以通过UI手动更改字体,但这是一个缓慢的过程。我在RHEL6.5上运行MATLAB 2013a
我还尝试了“设置(gca,'FontSize', 18);”并指定'FontSize', 18在标题,xlabel, ylabel和传说。这些都没有奏效。
请建议!
11日评论
穆罕默德·奥马尔·法鲁克
有两种方法可以改变图形的字体细节。
第一种方法:
标题(“图” “字形大小” 12);
包含( “轴” “字形大小” 12);
文本(x, y, 的图, “字形大小” 12);
第二种方法:
绘制图形,双击要更改其详细信息的字体,或右键单击并打开设置。根据您的需要手动定制细节。祝你好运。

登录评论。

接受的答案

图像分析
图像分析 2014年5月27日
通常,您可以在更新每个控件的文本时分别设置字体大小,例如
标题(“这是我的地盘”“字形大小”、24);
包含(“x轴”“字形大小”、24);
文本(x, y,"嘿,看这个"“字形大小”、24);
那样做有什么不对吗?我就是这么做的。
5个评论
彼得
彼得 2016年9月27日
嗯,可能这种字体没有其他尺寸

登录评论。

更多答案(12)

嘉里蒂迈克
嘉里蒂迈克 2016年2月10日
是的,这可能令人困惑。以下是你可能看到的:
数字创建数字
集(gca),“字形大小”, 18)创建一个轴,并将其FontSize设置为18
情节(x, y)重置轴和绘图
注意“重置轴”部分。其中一件事是FontSize属性被设置为默认值!
当按住时,这不会发生,因为坐标轴不会重置。
有几种方法可以解决这个问题。
最简单的是在绘图后设置FontSize。
一种更复杂的方法是改变默认值:
图(“DefaultAxesFontSize”, 18)
情节(x, y)
明白吗?
1评论
里克
里克 2017年2月9日
关键是字体大小属性是从图形继承的。所以你应该调用gcf而不是gca。但实际上,最佳实践是在创建图形窗口时设置字体大小。

登录评论。


José克雷斯波·巴里奥斯
集(findall (gcf“属性”“字形大小”),“字形大小”, 18)
5个评论
图像分析
图像分析 2021年4月16日
@Mauricio Iwanaga 我不确定你对" 微不足道的 ,但是text()函数也有一个'FontSize'选项:
Text (x, y, str,“字形大小”, 18岁,“FontWeight”“大胆”);
这看起来很琐碎 对我来说 要使用它,必须知道输入选项是可用的。

登录评论。


肖恩·德·沃尔斯基
肖恩·德·沃尔斯基 2014年5月27日
我认为你要做的是设置 “默认” 轴的字体大小
集(gca),“DefaultTextFontSize”, 18)
现在坐标轴上的任何文本对象都有18个字体
文本(0.5,0.5,“你好”
4评论
DN7
DN7 2020年12月18日
如果 gca 并不适用于您,请确保您没有意外地以这种方式创建变量。使用:
clearvarsgca
甘氨胆酸h_gca =;
h_gca.FontSize = 13;
为了确保。我在运行时无意中创建了这个变量(struct) gca。FontSize = 13 ,它不会改变当前轴的字体大小,而是创建一个新的结构体。

登录评论。


丹尼尔
丹尼尔 2015年3月26日
鉴于我花了几个小时研究这个问题,我只是想谈谈这个问题。
我在Ubuntu 12.04LTS上运行Matlab 2013b。与这里的许多类似,更改标签/图例属性可以正常工作,但设置轴ticklabel fontname/size不起作用-至少,轴属性列表反映了更改,但窗口图没有呈现到新的字体设置。在将绘图打印到eps并将其包含在我的latex编译文档中之后,axis字体属性发生了变化。这看起来只是一个渲染错误。
安装额外的字体对我来说不起作用——我也没想到,因为渲染/更改其他对象(如标签和图例)的字体属性在Matlab中工作得很好。
因此,对于那些关注出版物图表外观的人来说,在我看来,实际导出的数字确实反映了编辑(至少这是我在打印到.eps时的经验)。
欢呼,
丹尼尔

雷纳托坎帕纳
雷纳托坎帕纳 2017年11月18日
我用Matlab 2016工作。你可以尝试两件事:
1)图(DefaultAxesFontSize, 30);这里的字体大小是30。图(1)plot(x,y,'LineWidth',4);注意这里的线宽是4 xlabel('length bar','FontSize',18);注意这里的字体大小标签是18 ylabel('wide bar','FontSize',18);请注意,这里的字体大小标签是18
并且您必须在每个图中使用dame命令图('DefaultAxesFontSize',30)。如果你没有在每个标签中指定字体大小,标签会显示字体大小为“30”
或者你可以试试:
2)图(1)plot(x,y,'LineWidth',4);集(gca、字形大小,28);请注意,字体大小是在plot命令之后:)

阿奴
阿奴 2015年1月1日
我也遇到过同样的问题。我使用的是Linux Mint操作系统。我通过安装xfont 100和75 dpi和truetype字体来解决这个问题。试一次。

亚当Danz
亚当Danz 2022年3月18日
MATLAB R2022a ,使用 字形大小 函数用于缩放字体大小和设置图形中的字体单位。您可以为图形中的所有对象设置字体大小,或者在保持字体大小相对差异的情况下递增/减小字体大小。
发布R2022a还包括新的 字体名 函数设置图形中的字体名称。
有关回顾,请参见 这个社区亮点

Vimal kumar chawda
Vimal kumar chawda 2020年8月12日
图(4)
集(gca),“字形大小”, 50)
plot(A_OBS(2).RxTime(:)/3600, No_ele2(1:r2, 1),“。b”);
持有
情节(A_OBS (4) .RxTime (:) / 3600, No_ele4 -0.05 (1: r4, 1),“.g”);
包含(时间[h],字体大小15);
ylabel (可见卫星数量,字体大小15);
标题(Javad和u-blox接收器的比较(galileo));
传奇(“Javad (SN: 0082)”“u-blox (SN: 1771)”);
为什么它不起作用?
我需要最大化的尺度和文本在轴尺度。


Eitvydas Karauskas
Eitvydas Karauskas 2021年4月4日
嘿,伙计们,我有一个不同的问题与文本功能。为什么当我放大或缩小图形时,我的文本大小会改变?我需要将文本设置为固定大小,这样当我放大或缩小时它不会改变。我在添加我的代码。
谢谢你的帮助。
定义纬度和经度
latlim = (53.9 - 55.5);
lonlim = 26 [24];
装载百分比世界地图
地图= worldmap (latlim lonlim);
%加载立陶宛边界从外部来源,并显示为
% geografic坐标
国家= shaperead (“gadm36_LTU_0.shp”“usegeocoords”,真的,的边界框(“大小), [lonlim', latlim']);
geoshow(地图、国家“facecolor”,[11 11 1],“线宽”2);
将坐标转换为纬度/长度
%定义VNO
VNOlon = 25.293639;
VNOlat = 54.636056;
地理显示(VNOlat, VNOlon,“标记”“。”“markerfacecolor”“蓝”“markeredgecolor”“蓝”“markersize”6);
textm (VNOlat VNOlon,“VNO”“fontweight”“大胆”“颜色”“黑”“字形大小”6);
将km转换为nn并定义半径
R = [9.26 18.52 27.78];
circlem (VNOlat VNOlon r“线型”“——”“线宽”, 0.5);
%定义VNO半径
textm (54.65831449445, 25.14947845266,“5 nm VNO”“旋转”, 70,“字形大小”3,“fontunits”“归一化”);

迈克尔·尼利
迈克尔·尼利 2021年11月20日
以上关于使用单行“设置gca”或“设置默认”的答案实际上都不起作用。我曾经成功地在单独的打印命令中设置字体(正如一些答案所暗示的那样)。然而,没有一种简单的方法可以让一行更改所有内容的字体大小,这非常令人恼火。
我能做到这一点的唯一方法是对图形本身进行物理操作,单击并放大,这似乎高度依赖于我用来显示图形的窗口的大小。如果我物理放大窗口,那么字体可能会被修改。这使得很难 始终如一地 为出版物打印数字。有些数字的字体大小与其他数字略有不同。
2的评论
亚当Danz
亚当Danz 2022年10月3日
@Romanos萨哈 ,从MATLAB R2022a开始,您可以使用 字形大小 函数来做到这一点:
字形大小(gcf 14“点”
有关回顾,请参见 这个社区亮点

登录评论。


约瑟夫·罗哈斯
约瑟夫·罗哈斯 2022年11月22日
我的显卡和显示器的分辨率使得Matlab中的字体太小而无法阅读。如何增加桌面字体的大小仅为Matlab应用程序。使用win11
2的评论
亚当Danz
亚当Danz 2022年11月23日
S = settings();
s.t atlab.fonts.codefont. size . temporaryvalue = 14;% fontsize(点数)
它会一直存在直到你关闭MATLAB所以你可以把它放在你的启动函数中如果你想让它在每次打开MATLAB时都起作用。
使用以下命令恢复为默认值
clearTemporaryValue (S.matlab.fonts.codefont.Size)

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的