声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 17952|回复: 51

[绘图技巧] 极坐标坐标轴设置的问题

[复制链接]
发表于 2008-12-20 21:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
想重新设置极坐标系下的,theta 和 R 的范围, 比如半径R 由中心向外设置为90到0,间隔15由内向外递减。
请教一下,应该用什么语句设置。

谢谢 ...

ps. 曾经考虑过 更改polar.m来实现,但不知如何更改,请高手指点,麻烦说的具体些。。。。。
回复
分享到:

使用道具 举报

发表于 2008-12-20 22:05 | 显示全部楼层

回复 楼主 SPUR0645 的帖子

本帖最后由 牛小贱 于 2015-1-25 16:53 编辑

看看这个是不是你要的
  1. plot(1:10)
  2. set(gca,'xdir','reverse')
复制代码


发表于 2008-12-20 22:36 | 显示全部楼层
本帖最后由 牛小贱 于 2015-1-25 16:54 编辑
  1. t = 0:.01:2*pi;
  2.        polar(t,sin(2*t).*cos(2*t),'--r')
  3. set(gca,'xdir','reverse')
复制代码

评分

2

查看全部评分

发表于 2008-12-20 23:09 | 显示全部楼层
 楼主| 发表于 2008-12-21 16:16 | 显示全部楼层
放个图上来可能说得更清楚,这是我画的极坐标系下的图形,rho在图上是从0.2到1的递增,我现在想实现的是rho能从中心向外依次递减,中心是1,最外侧是0.2。  Unbenannt.jpg
 楼主| 发表于 2008-12-21 16:23 | 显示全部楼层
先谢谢楼上的回复,不过我想问一下,set(gca,'xdir','reserve') 是在x轴的坐标系?我是了一下好像不行啊。麻烦大家在指点一下,谢谢 
发表于 2008-12-21 18:19 | 显示全部楼层

回复 6楼 SPUR0645 的帖子

要想实现rho从中心向外依次递减,个人觉得不行吧!
平面图中,半径应该只能从中心向外依次递增!
发表于 2008-12-21 20:44 | 显示全部楼层

回复 5楼 SPUR0645 的帖子

不清楚意义何在?
 楼主| 发表于 2008-12-22 00:27 | 显示全部楼层
原帖由 ch_j1985 于 2008-12-21 18:19 发表
要想实现rho从中心向外依次递减,个人觉得不行吧!
平面图中,半径应该只能从中心向外依次递增!


半径肯定是依次递增,这个没错,我上面画的图也是按照递增的rho画的,但由于需要,能不能通过改变什么属性,让它在图上显示为90到0递减的,只是让显示为递减,而实际画图还是按照递增的画。

不好意思,我可能前面没说清楚, 大家可能以为是要按照rho的递减来画图,实际不是的,我只是希望它们能按照90到0的递减顺序显示出来。比如在0.2的位置上显示90,而在1的位置上显示为0,望大家指教。

再次谢谢回帖。

[ 本帖最后由 SPUR0645 于 2008-12-22 06:11 编辑 ]
发表于 2008-12-22 08:33 | 显示全部楼层
set(gca,'XTickLabel',{'90';'45';'0'})

刚刚实机试了下, 可不行!? soory!

[ 本帖最后由 ChaChing 于 2008-12-22 09:15 编辑 ]
发表于 2008-12-22 10:59 | 显示全部楼层
本帖最后由 牛小贱 于 2015-1-25 16:55 编辑

基本上, 若是使用polar画图好像就无法更改其相关属性!
虽然可以使用set(gca,...)更改其相关属性, 但你会发现并没有更动! 原因为误认那些标示为'XTickLabel', 其实都不是, 切入polar.m看仔细就会发现其为text产生, 所以外部更改都无效!

我试了直接更改polar.m来实现即可
  1. % draw radial circles
  2.     c82 = cos(82*pi/180);
  3.     s82 = sin(82*pi/180);
  4.     rinc = (rmax-rmin)/rticks; ppp=(rmin+rinc):rinc:rmax; ppp=fliplr(ppp); iip=0;
  5.     for i=(rmin+rinc):rinc:rmax
  6.         hhh = plot(xunit*i,yunit*i,ls,'color',tc,'linewidth',1,...
  7.                    'handlevisibility','off'); iip=iip+1;
  8.         text((i+rinc/20)*c82,(i+rinc/20)*s82, ...
  9.             ['  ' num2str(ppp(iip))],'verticalalignment','bottom',...
  10.             'handlevisibility','off')
  11.     end
  12.     set(hhh,'linestyle','-') % Make outer circle solid
复制代码


点评

赞成: 5.0
赞成: 5
  发表于 2015-1-25 16:55

评分

1

查看全部评分

发表于 2008-12-22 11:04 | 显示全部楼层
t=0:.01:2*pi;  hh=polar77(20*t,200*sin(2*t).*cos(2*t),'--r');

再一次请教工程意义何在? :loveliness:

[ 本帖最后由 ChaChing 于 2009-2-3 08:18 编辑 ]
pol77.jpg

评分

1

查看全部评分

 楼主| 发表于 2008-12-22 16:15 | 显示全部楼层
谢谢楼上的回复,我学能量工程的,我画的其实是反映太阳的高度角和太阳方位角之间的关系,反映的一年之内每时每刻的不同区域的采光量,图上画的那条曲线反映的是一月份柏林的情况,而90到0的变化其实是太阳高度角的变化。我本想画出0到90递增的情况,但无奈论文的指导材料说要画出递减的,所以我也只能往这方面努力了,它的意义其实是当你知道世界上任何地方任意时刻的采光量和其他参数之后可以控制一套硬件系统的输入,从而达到自动调节房屋或太阳能电池采能的最优化。

再次非常感谢楼上的回复!谢谢

[ 本帖最后由 SPUR0645 于 2008-12-22 16:18 编辑 ]
发表于 2008-12-22 16:42 | 显示全部楼层

回复 13楼 SPUR0645 的帖子

我大概了解了! 谢谢分享!
不好意思! 总希望自己也能有所收获!
发表于 2008-12-22 17:04 | 显示全部楼层
我从官网上下了一个程序,进行了一些修改,不但可以更改极径的标签,还可以旋转角度标签,原理和ChaChing说的一样。
一个例子:polarlabels([0:360]*pi/180,abs(sin([0:360]*pi/180))*10,'b',-90,[-1,10])
untitled.jpg

polarlabels.m

6.63 KB, 下载次数: 159

评分

2

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 09:53 , Processed in 0.083881 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表