如何使轮廓标签(数字)的轮廓线使用相同的颜色?

9的观点(30天)
亲爱的MATLAB用户,
我想知道是否有可能使clabel遵循轮廓的颜色吗?这意味着数字与轮廓曲线有相同的颜色。
这里有一个例子可以生产使用MATLAB,我试图复制它。
(这个数字是来自:相位相干性在石墨烯由马克布莱恩Lundeberg]
这是我的MATLAB代码。
%的相位相干性石墨烯石墨烯中的相位相干。pdf格式,页9
clearvars;clc;关闭所有;文件关闭所有;格式;格式紧凑的;
= 1;
t = 1;
kx = linspace(4 *π/ (sqrt(3) *), 4 *π/ (sqrt (3) *), 101);
[KX,肯塔基州]= meshgrid (KX, KX);
能量= t *√3 + 2 * cos(肯塔基州*)+ 4 * cos ((√6 (3) / 2) * KX * a)。* cos(肯塔基州(1/2)* *));
无花果=图(“单位”,“厘米”,“位置”,1、12、12);
% ax =轴(无花果、“单位”、“厘米”,“位置”,[2、2、8、8]);
ax =轴(图);
持有;
(C、h) =轮廓(ax, KX,肯塔基州、能源、“线宽”,0.5);
% https://ww2.mathworks.cn/matlabcentral/answers/83483-labels-on-the-contour-have-too-many-digits
h。LevelList =圆(h。LevelList 3);
clabel (C、h、“字形大小”8“字体名”,“天线”);
h。LevelList = 0.30:0.20:3.00;
colormap(飞机)
%画一个正六边形(例如,布里渊区)
θ=(30:60:360)* 180(π/;
绿色=(4 *π/ (3 *))* (cos(θ);sin(θ)];%六边形的顶点
pgon = polyshape(绿色的);
情节(pgon);
平等的;
% saveas(无花果、“TBA_bands_hexagonal_contour”、“pdf”);
这是结果。
最好的问候,
麒麟。
6个评论

登录置评。

接受的答案

亚当Danz
亚当Danz 2022年3月26日
编辑:亚当Danz 2022年3月26日
标签生成等值线与水平
改编自OP的代码:
= 1;
t = 1;
kx = linspace(4 *π/ (sqrt(3) *), 4 *π/ (sqrt (3) *), 101);
[KX,肯塔基州]= meshgrid (KX, KX);
能量= t *√3 + 2 * cos(肯塔基州*)+ 4 * cos ((√6 (3) / 2) * KX * a)。* cos(肯塔基州(1/2)* *));
无花果=图();
ax =轴(图);
持有;
(C、h) =轮廓(ax, KX,肯塔基州、能源、“线宽”,0.5);
h。LevelList = 0.30:0.20:3.00;
clabel (C、h、“字形大小”8“字体名”,“天线”);
colormap(飞机)
设置轮廓标签颜色轮廓的颜色
  • h是轮廓处理[~ h] =轮廓(__)
  • 斧头是轴处理
drawnow ()%要求
斧子。这一= [min (h.LevelList), max (h.LevelList)];
clabelVals = str2double (get (h.TextPrims,“字符串”));
levelNorm = (clabelVals-ax.CLim (1))。/ (ax.CLim (2) -ax.CLim (1));
colorIdx =圆(levelNorm *(大小(ax.Colormap, 1) - 1)) + 1;
clabelRGB = uint8 ([ax.Colormap (colorIdx:) * 255 0(元素个数(colorIdx), 1)]) ';
集(h。TextPrims, {“ColorData”},mat2cell (clabelRGB 4(1、大小(clabelRGB, 2))) ');

更多的答案(0)

类别

找到更多的在轮廓图帮助中心文件交换

s manbetx 845


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!