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

8213次浏览(最近30天)
爱德华。
爱德华。 2014年5月26日
评论道: 图像分析 2021年4月16日
我在函数中使用“set(gca,'fontsize',18);”来更改图形中的字体。我的代码不会引发错误,但也不会更改字体大小。我可以通过UI手动更改字体,但这是一个缓慢的过程。我正在RHEL6.5上运行MATLAB 2013a
我也尝试过“set(gca,'FontSize', 18);”并在title, xlabel, ylabel和legend中指定'FontSize', 18。这些都没有奏效。
请建议!
10评论
亚历克斯Hruksa
亚历克斯Hruksa 8月28日
这段代码非常有用,谢谢图像分析师!

登录以发表评论。

接受的答案

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

登录以发表评论。

更多的答案(9)

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

登录以发表评论。


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

登录以发表评论。


肖恩·德Wolski
肖恩·德Wolski 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字体名称/大小不工作——至少,轴属性列表反映了更改,但窗口图没有呈现到新的字体设置。在打印情节到eps和包括这在我的乳胶编译文件,它原来轴字体属性正在改变。这似乎只是一个渲染错误。
安装额外的字体并不适合我——我也没有预料到,因为渲染/更改其他对象的字体属性,如标签和图例,在Matlab中工作得很好。
所以,对于那些为出版物的外观而烦恼的人,在我看来,实际输出的数字确实反映了编辑(至少这是我在印刷到。eps时的经验)。
欢呼,
丹尼尔

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

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

维姆·库马尔chawda
图(4)
集(gca),“字形大小”, 50)
情节(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接收器(伽利略)的比较”);
传奇(“Javad (SN: 0082)”“u-blox(序列号:1771)”);
为什么它不起作用?
我需要最大化比例和轴比例中的文本。


Eitvydas Karauskas
Eitvydas Karauskas 2021年4月4日
嘿,伙计们,我在文本功能上有一个不同的问题。为什么我的文字大小改变时,我放大或缩小我的图形?我需要将文本设置为固定大小,这样当我放大或缩小时它就不会改变。我在添加我的代码。
谢谢你的帮助;)
%定义纬度和经度
latlim = (53.9 - 55.5);
lonlim = 26 [24];
%装载世界地图
地图= worldmap (latlim lonlim);
%装载立陶宛边界从外部来源和显示它作为一个
% geografic坐标
国家=形状(“gadm36\u LTU\u 0.shp”“usegeocoords”符合事实的“边界框”,[lonlim',latlim']);
地理展示(地图、国家、,“facecolor”(1 1 1),“线宽”2);
将坐标转换为纬度/经度
%定义VNO
VNOlon = 25.293639;
VNOlat = 54.636056;
geoshow (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”“归一化”);

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!