如何为柱状图自定义含数字与字符串的Xticklabels?
给Matlab柱状图X轴刻度添加单位后缀的方法
方法1:用strcat拼接字符串
先把数值向量转成字符串,再拼接单位后缀:
scanrate = [2;4;6;8;10]; % 生成带单位的刻度标签 tick_labels = strcat(num2str(scanrate), 'mv/s'); % 绘制柱状图(替换成你的实际数据) bar(scanrate); % 设置X轴刻度标签 xticklabels(tick_labels);
方法2:用compose格式化字符串(适用于R2016b及以后版本)
compose能更灵活地组合数值与单位,写法更简洁:
scanrate = [2;4;6;8;10]; % 生成格式化后的刻度标签 tick_labels = compose('%dmv/s', scanrate); bar(scanrate); xticklabels(tick_labels);
原方法的问题说明
你之前用xticklabels(num2str(scanrate))只能显示数字,是因为num2str(scanrate)生成的是仅包含数值的字符矩阵,没有附加单位信息。上面两种方法都是给每个数值字符串单独拼接单位,最终生成带后缀的完整刻度标签数组。
内容的提问来源于stack exchange,提问作者Mitchell
相关产品推荐
相关产品推荐

