为分组条形图与保留绘图添加XTickLabels的技术需求
Matlab绘图:用矩阵b设置横轴标签(条形图+折线图)
1. 分组条形图添加横轴标签
你的循环绘制分组条形图时,每个条形组的横轴位置对应b的每行数值。要把这些数值作为横轴标签,只需整理所有需要显示的标签,再统一设置坐标轴的XTick和XTickLabels即可:
修改后的代码:
a=[4.54,88.63,27.27,77.27,54.54;31.81,61.36,38.63,68.18,54.54;54.54,61.36,59.09,54.54,50;68.18,27.27,56.81,34.09,50;90.90,11.36,68.18,15.90,40.90]; b=[0.40,0.55,0.70,0.85,1;1.39,1.54,1.69,1.84,1.99;2.340,2.49,2.64,2.79,2.94;3.36,3.51,3.66,3.81,3.96;4.29,4.44,4.59,4.74,4.89]; figure, hold on % 绘制所有条形图 for i=1:5 bar(b(i,:),a(:,i)) end % 整理所有横轴标签(把b的所有元素转成字符串数组) all_labels = string(b(:)); % 设置横轴刻度位置和标签 xticks(b(:)); xticklabels(all_labels); % 可选:旋转标签避免重叠 xtickangle(45); hold off
2. 折线图设置XTickLabels
折线图的横轴对应b的前3行数值,同样先确定要显示的刻度位置,再设置标签:
修改后的代码:
figure, hold on % 绘制所有折线 for i=1:3 plot(b(i,:),a(:,i)) end % 提取前3行的b值作为刻度位置和标签 tick_positions = b(1:3,:); tick_labels = string(tick_positions(:)); % 设置横轴刻度和标签 xticks(tick_positions(:)); xticklabels(tick_labels); xtickangle(45); hold off
内容的提问来源于stack exchange,提问作者Kanjoo
相关产品推荐
相关产品推荐

