2012年01月11日 星期三 13:08
我想画类似于这样的图:
例:100点构成的集合分成了10类,我想将点用不同的颜色和符号画出来,相同颜色相同符号的点属于同一类。
已经做了点尝试:
marker=('.',',','o','v','^','<','>','1','2','3','4','s','p','*','h','H','+','x')#不同符号
for nsub in range(L): #L为类数
eleId=pl.find(self.subIndex==nsub) #subIndex存储了类编号0:L-1
pl.plot(x[eleId],y[eleId],marker[nsub%len(marker)]) #逐类画点(x,y存储了点的坐标)
pl.show()
2012年01月11日 星期三 13:18
这是运行结果:
问题在于:
1、我还不知道怎么控制颜色,图中的颜色应该是画图时自动分配的。可以看出颜色的种类并不多。我想产生例如L种不同颜色,每画一类点是就是用这一种(类似于marker),或者有别的方式?
看了一下matplotlib的文档,好像colormap可以自定义,但是没看懂,不会用
2、我现在控制符号的方法是否是最好的?
3、有的特殊符号好像没有吧,例如扑克牌里的梅花:♣,心形❤
2012年01月11日 星期三 14:39
你可以通过color参数指定颜色,它可以是一个表示RGB颜色的元组。
可以用marker参数设置LaTex的符号,markersize设置符号的大小。
pl.plot([0,1,2],[0,1,2],marker=r'$\clubsuit$', markersize=30, color=(1.0, 0.3, 0.5), linestyle="none")
可用的Latex符号请参考:
c:\Python26\Lib\site-packages\matplotlib\_mathtext_data.py
2012年01月16日 星期一 20:27
是否 必须单独安装 Latex 后才能调用, 还是spyder中有Latex相关的库文件?
2012年01月16日 星期一 20:42
matplotlib中自带了一个简易的latex解析器
Zeuux © 2024
京ICP备05028076号