2012年05月19日 星期六 23:38
x:一维数据
y:一维数据
(x,y)代表一系列坐标点,我想把这些点 以及 每个点对应的值用不同的颜色表示出来,而且最终显示结果类似于imshow而不是scatter
网上找了一下,这里提的问题跟我想实现的很类似: http://stackoverflow.com/questions/7988473/matplotlib-how-can-i-convert-a-xyz-scatter-to-a-pixel-image
但是他们用的contourf的方式有一个很大的缺点是绘图速度极慢。有人提到imshow的方式很快: http://stackoverflow.com/questions/6318170/large-matplotlib-pixel-figure-best-approach
但是imshow好像不能实现我想画的极坐标图(一楼)
该怎么画?恳请手不吝赐教 (我用的是spyder)
2012年05月19日 星期六 23:41
这是我参照第一个网址用contourf画的,但是角度取值和半径取值很大,绘图效率较低。
2012年05月19日 星期六 23:49
不好意思,楼上说法不恰当,"角度取值和半径取值很大"---->取值的点数很大
2012年05月20日 星期日 18:10
经过一些尝试,我找到了pcolormesh这个函数,它的绘图速度很快,唯一不足就是色彩的渲染不如imshow,
怎么看不到3楼了?
2012年05月20日 星期日 19:50
嗯,应该使用pcolormesh, 下面是一个例子:
http://hyry.dip.jp/tech/forum/thread.html/153
import numpy as np import pylab as pl def func(theta, r): y = theta * np.sin(r) return np.sqrt(y*y) T, R = np.mgrid[0:2*np.pi:360j, 0:10:100j] Z = func(T, R) ax=pl.subplot(111, projection="polar", aspect=1.) ax.pcolormesh(T, R, Z) pl.show()
2012年05月22日 星期二 08:56
pcolormesh 对值为 nan 的数据并不显示为白色!!
请问有什么解决方法?
Zeuux © 2024
京ICP备05028076号