• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB 画柱状图(/直方图)修改横坐标名称并使其横着显示 - CuriousZero ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

MATLAB 画柱状图(/直方图)修改横坐标名称并使其横着显示

使用MATLAB 画柱状图 ,即bar (x,y),其横坐标是默认 1、2、3、4、……的

% --v1
y1=[asum1,asum2,asum3,asum4,asum5,asum6,asum7,asum8,asum9,asum10];
x1=[1:10];
bar(x1,y1)

 

现在需要修改横坐标名称,使用命令:

% --v2
y2=[asum1,asum2,asum3,asum4,asum5,asum6,asum7,asum8,asum9,asum10];
x2=[\'<=10\',\'10-25\',\'25-50\',\'50-90\',\'90-300\',\'300-350\',\'350-450\',\'450-550\',\'550-700\',\'>700\']; 
bar(y2)  %先 bar 后 set
set(gca,\'XTickLabel\',x2)

 

但是显示的时候出现文字重叠情况……

 

那么,更进一步的,使其名称横着显示:

% --v3
y3=[asum1,asum2,asum3,asum4,asum5,asum6,asum7,asum8,asum9,asum10];
x3str={\'<=10\',\'10-25\',\'25-50\',\'50-90\',\'90-300\',\'300-350\',\'350-450\',\'450-550\',\'550-700\',\'>700\'}; %新坐标的值
bar(y3)  %先 bar 后 set
xtb = get(gca,\'XTickLabel\');% 获取横坐标轴标签句柄
xt = get(gca,\'XTick\');% 获取横坐标轴刻度句柄
yt = get(gca,\'YTick\'); % 获取纵坐标轴刻度句柄 
xtextp=xt;%每个标签放置位置的横坐标,这个自然应该和原来的一样了。                    
ytextp=-0.1*yt(3)*ones(1,length(xt));
text(xtextp,ytextp,x3str,\'HorizontalAlignment\',\'right\',\'rotation\',46)
set(gca,\'XTickLabel\',[]); %将原坐标(1,2,3,..)去掉

 

最终,加上 label :

%--添加坐标提示
xlabel(\'Rating Counts\');
ylabel(\'Number of Ratings\'); 
legend(\'FilmTrust\');

 

设置 xlabel在右边而非中间:

(最终版代码)

% --v3
y3=[asum1,asum2,asum3,asum4,asum5,asum6,asum7,asum8,asum9,asum10];
x3str={\'<=10\',\'10-25\',\'25-50\',\'50-90\',\'90-300\',\'300-350\',\'350-450\',\'450-550\',\'550-700\',\'>700\'}; %新坐标的值
bar(y3)  %先 bar 后 set
xtb = get(gca,\'XTickLabel\');% 获取横坐标轴标签句柄
xt = get(gca,\'XTick\');% 获取横坐标轴刻度句柄
yt = get(gca,\'YTick\'); % 获取纵坐标轴刻度句柄 
xtextp=xt;%每个标签放置位置的横坐标,这个自然应该和原来的一样了。                    
ytextp=-0.1*yt(3)*ones(1,length(xt));
text(xtextp,ytextp,x3str,\'HorizontalAlignment\',\'right\',\'rotation\',46)
set(gca,\'XTickLabel\',[]); %将原坐标(1,2,3,..)去掉
%--添加坐标提示
xlabel(\'Rating Counts\');
ylabel(\'Number of Ratings\'); 
legend(\'FilmTrust\');
% ----设置 xlabel在右边而非中间
h=xlabel(\'Rating Counts\');
xlim = get(gca,\'XLim\');
ylim = get(gca,\'YLim\');
set(h,\'Position\',[xlim(2)+(xlim(2)-xlim(1))*0.05,ylim(1)])

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi两个取字串长度的函数strlen,length发布时间:2022-07-18
下一篇:
delphi中如何实现DBGrid中的两列数据想减并存入另一列发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap