- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 15195775117 于 2019-6-4 10:31 编辑
IDL没有绘制饼图的函数,作为一门以可视化见称的语言,不能不说是一个缺憾。
最近需要绘制极坐标图,距离、方位是位置参量,预想效果如上图,颜色代表值的大小。
绘制方案1:
图中每个“扇框”以四边形代替,用polygon函数一个一个绘制,
实践证明,随着循环的进行,新扇框叠加的速度越来越慢,上百之后就很慢了,但我一次就要画7万个,
时间成本和内存成本极大,此方案不可行!
绘制方案2:
python有pie方法可绘制饼图,以IDL8.5引入python,
IDL的help里的“IDL to Python Bridge”项有案例参考,
但根据这个案例和网上的资料,python的pie似乎只能画扇形的图,不能在径向分段,
要实现分段,我想着可以用小圆盖大圆的办法,该方案似乎可行,
不过,matplotlib的语法我还没学,存在开发成本。
绘制方案3:
堆叠极坐标下的伪彩线,线之间的间隙可以通过调整图的大小来消除,
代码:
R=fltarr(1000)
theta=findgen(1000)/1000*2*!pi
for i=0,20 do begin
fig=plot(r+i,theta,/polar,rgb_table=33,thick=100,/overplot,$
dimensions=[600,600],xrange=[-21,21],yrange=[-21,21],$
axis_style=0)
endfor
效果图:有间隙与无间隙
----------------------------
----------------------------
以下开始实践方案3:
|
|