我如何使用自定义标记线对象在MATLAB绘图?

127次浏览(过去30天)
line对象允许使用'Marker'属性的有限标记子集。我想定义一个自定义标记。

接受的答案

MathWorks支援小组
MathWorks支援小组 2009年9月23日
在MATLAB中无法为线对象使用自定义标记。
要解决这个问题,您可以找到具有与所需标记相似字符的字体。然后可以使用TEXT命令在所需的标记位置创建文本对象。这与使用PLOT命令非常相似。例如:
定义字体和所需字符
字体=“喝酒聚会”
m =“J”
做一些任意的数据
X = 0:.5:2*pi;
Y = sinx;
使用TEXT沿数据绘制字符
文本(x, y, m,“字体名”、字体、“颜色”“红色”
手动设置轴限制,因为TEXT不会为您这样做
xlim ([min (x) max (x)))
ylim ([min (y) max (y)))
有关可以使用的字符符号的更多想法,请参阅相关解决方案。

更多答案(1)

Karthick SK
Karthick SK 2021年8月25日
它不能在“Windows”机器上工作。
中可用的默认字体之一是另一种建议 Matlab 比如“Zapf Dingbats”。
通过使用十进制代码, Matlab 打印实际文本。另一方面,当使用十六进制代码时,它打印相应的符号。
例如,
文本(0.5,0.5,char (065),“字体名”“ZapfDingbats”“字形大小”10);% char十进制编码
打印对应的ZapfDingbats字符,而
文本(0.5,0.5,char (0 x2721),“字体名”“ZapfDingbats”“字形大小”10);% char为十六进制代码
打印相应的ZapfDingbats图形文本。
相关的十进制和十六进制值可在以下链接中找到:
使用Unicode块中给出的表“Zapf Dingbats”。
  1. https://en.wikipedia.org/wiki/Zapf_Dingbats
  2. https://help.adobe.com/en_US/framemaker/2015/using/using-framemaker-2015/Appendix/frm_character_sets_cs/frm_character_sets_cs-5.htm
实现这一点的简单方法是稍微修改代码。
因为只使用字母,
clearvars;关闭所有;图;
定义字体和所需字符
字体=“ZapfDingbats”
M = char(065);
做一些任意的数据
X = 0:.5:2*pi;
Y = sinx;
使用TEXT沿数据绘制字符
文本(x, y, m,“字体名”、字体、“颜色”“红色”
手动设置轴限制,因为TEXT不会为您这样做
xlim ([min (x) max (x)))
ylim ([min (y) max (y)))
使用相应的图形符号,
clearvars;图;
定义字体和所需字符
字体=“ZapfDingbats”
M = char(0x2721);
做一些任意的数据
X = 0:.5:2*pi;
Y = sinx;
使用TEXT沿数据绘制字符
文本(x, y, m,“字体名”、字体、“字形大小”, 20岁,“颜色”“红色”
手动设置轴限制,因为TEXT不会为您这样做
xlim ([min (x) max (x)))
ylim ([min (y) max (y)))
(图片来源:Kannan Munusamy。我的朋友们发现这种方法很有效,功劳都归他)

2022世界杯八强谁会赢?

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map