MATLAB中不正确的图例框大小?(Improper legend box size in MATLAB?)

我遇到了一个问题,即字体大小更改时图例框不会自动调整大小。

x = [1 4 6 8 0 2 4 7 8]

plot(x)

lngd = legend('Nov 5, 2010 09:00 - 09:01');

set(lngd, 'interpreter','latex', 'fontsize', 10);

生成以下图表

我的两个问题是

盒子尺寸太小。 这些词是开箱即用的。 我试过set(lngd, 'interpreter','latex', 'fontsize', 10, [0 0 10 10]); 放大盒子,但没有运气。

我希望将图例框移到右下角。 我试过set(lngd, 'southeast', 'interpreter','latex', 'fontsize', 10); ,但没有运气。

我怎么能解决这两个问题呢?

I encountered a problem where the legend box is not automatically sized as the font size changes.

x = [1 4 6 8 0 2 4 7 8]

plot(x)

lngd = legend('Nov 5, 2010 09:00 - 09:01');

set(lngd, 'interpreter','latex', 'fontsize', 10);

generates the following graph

My two problems are

The box size is too small. The words are out of box. I have tried set(lngd, 'interpreter','latex', 'fontsize', 10, [0 0 10 10]); to enlarge the box, but no luck.

I wish to move the legend box to the right bottom. I have tried set(lngd, 'southeast', 'interpreter','latex', 'fontsize', 10);, but no luck.

How may I fix these two problems?

原文:https://stackoverflow.com/questions/22471972

更新时间:2019-09-26 11:17

最满意答案

你有没有特别的理由使用'interpreter', 'latex' ? 对于某些MATLAB来说,它似乎与传说的拳击混乱。 您可以尝试通过设置“ Position变量来手动更改图例框的位置和大小。

x = [1 4 6 8 0 2 4 7 8]

plot(x)

lngd = legend('Nov 5, 2010 09:00 - 09:01');

set(lngd, 'fontsize', 10, 'interpreter','latex','Position', [0.55,0.15,0.35,0.08]);

Position向量是[left,bottom,width,height]框的0~1范围。

Is there any particular reason that you use 'interpreter', 'latex'? It seems to mess with the boxing of the legend for some MATLAB. You can try to manually change the legend box position and size by setting the Position variable.

x = [1 4 6 8 0 2 4 7 8]

plot(x)

lngd = legend('Nov 5, 2010 09:00 - 09:01');

set(lngd, 'fontsize', 10, 'interpreter','latex','Position', [0.55,0.15,0.35,0.08]);

The Position vector is [left,bottom,width,height] of the box in 0~1 range.

2014-03-18

相关问答

如果你命名你的legend ,你可以迭代它所包含的行。 例如: leg=plt.legend(bbox_to_anchor=(1.005, 1), loc=2, borderaxespad=0.)

for l in leg.get_lines():

l.set_alpha(1)

l.set_marker('.')

请注意,您还必须重新设置标记。 我建议设置它. 而不是在这里让它更加明显 If you name your legend, you can then iterate

...

您不需要plot和errorbar 。 errorbar功能正在使用绘图绘制在循环中先前绘制的线。 然后将图例应用于这些隐藏线以及可见线。 摆脱plot并使用errorbar(x, diam(r,:), diamerr(r,:))代替。 You don't need both plot and errorbar. The errorbar function is drawing over the line plotted earlier in the loop with plot. The leg

...

您可以添加另一个子图作为空区域,仅保留图例 ,关闭轴可见性,绘制线的'YData'为nan值,因此它们不会渲染: figure(1);

hSub = subplot(511); plot(1, nan, 1, nan, 'r'); set(hSub, 'Visible', 'off');

subplot(512); plot(T, a, T, a2, 'r'); grid; ylabel('p (°/s)');

subplot(513); plot(T, b, T, b2, 'r'); grid;

...

您可以添加任何前32个ASCII代码(不可打印的字符)来创建空间。 不知道它会与psfrag一起工作。 这里,这段代码使用ASCII代码3创建30个空格。 h_plot = plot([0 1], [0 1]);

h_legend = legend([ 'A' repmat(char(3),1,30) ],0);

编辑 另一种可能。 您可以使用图例中的手柄。 在这里,将图例的文本从10个字符更改为1个字符不会修改图例框的大小。 [~,OBJH,~,~] = legend('0123456789

...

我认为你需要在你的情节中“隐藏”你不想要的元素,只留下传说。 例如, clear all; close all;

figure;

p1 = plot([1:10], [1:10], '+-');

hold on;

p2 = plot([1:10], [1:10]+2, 'o--');

legend('text1', 'text2');

set(p1, 'visible', 'off');

set(p2, 'visible', 'off');

set(gca, 'visible', 'off'

...

你有没有特别的理由使用'interpreter', 'latex' ? 对于某些MATLAB来说,它似乎与传说的拳击混乱。 您可以尝试通过设置“ Position变量来手动更改图例框的位置和大小。 x = [1 4 6 8 0 2 4 7 8]

plot(x)

lngd = legend('Nov 5, 2010 09:00 - 09:01');

set(lngd, 'fontsize', 10, 'interpreter','latex','Position', [0.55,0.15,0.35

...

在matlab条形图中对图例颜色反向排序的答案中提供的代码在您的情况下不起作用的原因是因为在这种情况下( bar图表)图例中的对象是patches而在您的图中它们是lines 。 FaceColor仅适用于补丁而不适用于lines 。 解决问题的最简单方法应该是颠倒你从“开始”开始绘制线条的顺序,然后直接使用从色彩图中提取的colormap 。 尽管如此,如果您在绘制图形后想要使用legend ,除了在legend旋转项目之外还要更改图中线条的颜色,如果要使用从色彩图中提取的colormap集合(

...

fill([0 1 1], [0 1 0], [.9 .9 .9]); hold on

plot(rand(5, 1), 'b');

plot(rand(5, 1), 'r');

plot(rand(5, 1), 'g'); hold off

h = legend('fill', 'line one', 'line two', 'line three');

%# find handles of lines inside legend that have a non-empty tag

hLege

...

好的,我现在明白你的问题。 我编写了一些数据: n = 8;

x = [1:n];

y(:,1) = rand(1,n);

y(:,2) = rand(1,n);

然后使用您的绘图命令: h = bar(x,y,'stacked');

hL = legend ((h([1 2])), {'North', 'South'});

但是,不要关闭盒子,只需将边缘颜色设置为白色: set(hL, 'EdgeColor', 'w')

然后使用: newPosition = [0.75 0.75 0.1

...

如果我理解正确,您需要访问legend调用的icons输出,并修改作为这些图标的子项的修补程序对象的MarkerSize属性。 致电legend : [h,icons,plots,legend_text] = legend('Circle', 'Plus', 'X', 'Location', 'NorthEast');

icons是一个6x1图形数组,如下所示: icons =

6x1 graphics array:

Text (Circle)

Text (P

...

matlab legend对齐,MATLAB中不正确的图例框大小?(Improper legend box size in MATLAB?)相关推荐

  1. matlab从csv文件中读取时间转换异常

    matlab 从 csv 文件中读取时间转换异常 最近一段时间一直在研究 matlab 读取各种数据,自以为文件读取的水平还行.可是,昨天,帮朋友读取一个 csv 文件时,时间转换却让我感到非常奇怪. ...

  2. (小记)matlab导出模糊控制器中的surface viewer和隶属度曲线

    本来是用labview做的模糊控制,但论文需要,这个图又导不出来,只能将模糊规则导进matlab的fuzzy工具中. labview的模糊工具保存的格式是 .fs,matlab的模糊工具是.fis. ...

  3. matlab在数值计算中的应用,详解MATLAB在科学计算中的应用

    详解MATLAB在科学计算中的应用 编辑 锁定 讨论 上传视频 <详解MATLAB在科学计算中的应用>是2011年电子工业出版社出版的图书,作者是陈泽占海明. 书    名 详解MATLA ...

  4. python中的matplotlib怎么改变标题大小和图例的字体大小和线的线型与颜色和输出图片大小呢?

    1 怎么改变图例里面的字体大小 所谓图例就是图右上角的表明图里线的分类名称,一般情况下,大家会直接plt.legend(),但()里面不能用fontsize,所以我们在legend里面加一句话如下: ...

  5. matlab给图片加颜色,Matlab中给figure添加图例(legend),标题(title)和颜色(color)...

    在Matlab绘图过程中,尤其是需要将多个图绘制在相同的坐标轴中时,通常需要将不同的曲线设置成为不同的颜色.此外,为了直观,还需要给这张图标增添标题和图例.这篇文章展示了在Matlab的绘图窗口(fi ...

  6. matlab绘制两个函数,用matlab程序 在同一图中绘制两个函数,这两个函数分别是: , ,,matlab怎样同时画出两个函数图...

    导航:网站首页 > 用matlab程序 在同一图中绘制两个函数,这两个函数分别是: , ,,matlab怎样同时画出两个函数图 用matlab程序 在同一图中绘制两个函数,这两个函数分别是: , ...

  7. matlab在输电线路故障测距中应用,Matlab在输电线路故障测距中的应用.doc

    Matlab在输电线路故障测距中的应用 毕业设计(论文) 题目 Matlab在输电线路故障测距中的应用 二级学院 电子信息与自动化学院 专 业 电气工程及其自动化 班 级 110070401 学生姓名 ...

  8. P5 Matlab/Simulink 在时域分析中的应用-《Matlab/Simulink与控制系统仿真》程序指令总结

    上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 5. Matlab/Simulink 在时域 ...

  9. Matlab在概率统计中的应用问题及解决方案集锦

    前言 关于MATLAB系列的精品专栏大家可参见 MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) 喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! Matlab在概 ...

最新文章

  1. iPhone浏览器性能测试
  2. 程序员赴美经验谈:本科应届 Kevin - 弗罗里达州 Oracle
  3. 传递对象_看懂Xlua实现原理——从宏观到微观(1)传递c#对象到Lua
  4. mysql冷热数据LRU_浅析MySQL的lru链表
  5. pstack 安装linux_pstack命令
  6. Exchange Server 2016 独立部署/共存部署 (六)—— 创建数据库副本
  7. CCF201909-4 推荐系统(100分)【模拟】
  8. 算法 Tricks(五)—— 二进制逻辑运算
  9. RDKit化学式 分子式搜索
  10. u深度重装系统详细教程_u深度u盘装系统教程 u深度u盘装系统步骤
  11. 人工智能产品经理如何面对数据挖掘
  12. Windows NT操作系统
  13. 安卓12使用VNET免ROOT抓包微信小程序
  14. 深度学习实例——Flappy Bird
  15. vant 验证手机号_Vue 正则表达式验证邮箱和手机号码
  16. Scylladb学习笔记
  17. 运动学逆解(四足机器狗)
  18. 求最大公因数的几种算法
  19. 在浏览器中嵌入播放器
  20. matlab中portcons,Matlab在马柯维茨均值-方差模型的简单应用.ppt

热门文章

  1. 爬取站长之家免费简历
  2. 海思(Hi3531d)uboot启动分析
  3. mustache模板
  4. css底部版权永远占据底部页面的方法
  5. [NOIP2004]津津的储蓄计划
  6. 相比幸存女孩,动车没有停运才是奇迹
  7. 代码调试技巧小集合(雨中飞燕出品)
  8. 左轮网吧IE历史QQ记录自动保存工具
  9. php curl post请求返回400 bad request
  10. bootstrap抽样