09 2012 档案
摘要:这次介绍pyplot如何画直方统计图,并且画出最合适的轮廓线。这是Matplotlib自带的一个例子,示例程序example/pyplot_examples/histdiagram_demo.py。先看效果图,在看代码,#!/usr/bin/env pythonimport numpy as npimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltmu, sigma = 100, 15x = mu + sigma*np.random.randn(10000)# the histogram of the datan, bins
阅读全文
摘要:这次介绍Matplotlib里面画图的结构,各种Artists。之前只是知道怎么用pyplot画图,没有去理解pyplot,现在整理一下自己的理解。在pyplot(或者是更全一点的matplotlib)里面,有两类Artists,一个是primitives,元素,表示我们想要画出来的标准的图像对象,像Line2D(二维的曲线),Rectangle,Text,AxesImage等;另一个是containers,用来存放元素,如Axis,Axes和Figure.每个Artist有很多可以设置的属性,如下图所示,这里有与boudningbox相关的内容,后面或许会用到。既然每个Artist有这些属性
阅读全文
摘要:前面说过的,有怎样画局部放大图的,例如左边放原图,右边放局部放大的图,并且在原图中用一个方框或者什么,把要放大的部分框起来,需要的话还可以用两条线从方框指向放大的图,效果如下图所示,这里主要介绍如何画方框和两条线。画方框,使用了画连接方框四个顶点的四条线段就可以了,从某个点绕个圈再回到起点,就画出了方框,使用pyplot(x,y),还可以方便地指定颜色,线宽等。然后是画跨子图的线,这里使用连接线,在matplotlib.patches有一个ConnectionPatch类型,就是用的这个,它可以用在一个或多个子图之间画线,annotate好像只能在一个子图里面画箭头,应该可以没有箭头,那就是一
阅读全文
摘要:在使用pyplot画图的时候,有时会需要在图上标注一些文字,如果曲线靠的比较近,最好还能用箭头指出标注文字和曲线的对应关系。这里就介绍文字标注和箭头的使用。添加标注使用pyplot.text,由pyplot或者subplot调用。下面是可以选择的参数,text(tx,ty,fontsize=fs,verticalalignment=va,horizontalalignment=ha,...)其中,tx和ty指定放置文字的位置,va和ha指定对其方式,可以是top,bottom,center或者left,right,center,还可以使文字带有边框,边框形状还可以是箭头,并指定方向。添加箭头使
阅读全文
摘要:之前介绍了pyplot里画简单的数据曲线,接下来介绍subplot相关的内容。subplot是为了在一张图里放多个子图,与Matlab里的subplot类似。pyplot是一个有状态的对象,包含了当前的图,画图区域,等。pyplot通过调用subplot或者add_subplot来增加子图,如p1 = plt.subplot(211) 或者 p1 = plt.subplot(2,1,1), 表示创建一个2行,1列的图,p1为第一个子图,然后在p1上画曲线,设置标注标题图例等,就可以使用p1来调用相关的函数,与pyplot相同的是,可以直接使用pyplot画图,添加label,等,也可以是使用p
阅读全文
摘要:最近要花一些图,本来是打算用matlab的,但是matlab有时候莫名其妙的挂掉,忍受不了,便找到了matplotlib。我熟悉并且喜欢Python,所以matplotlib替代了matlab。使用了几天,感觉还好,不过觉得文档不够全,网页版的有些链接打不开,pdf版本内容也就那么多,很多想找的内容都找不到,于是去看源码。下面整理一些使用心得。主要是用到matplotlib里面的pyplot和与其相关的。先看简单的,画一张简单的函数曲线图,#导入pyplot,文档里面的例子通常将其别名为pltimport matplotlib.pyplot as plt#创建一幅图plt.figure()#画
阅读全文
摘要:前几天使用list的排序功能,出现了一点问题,来总结一下。定义一个简单的节点类,包含一个字符串和一个整数,并重载了小于操作,根据整数的大小进行比较。class Node{ public: Node(string nm,int i) { name = nm; id = i; } void Print() { cout << name << ":" << id << endl; } friend bool operator < (...
阅读全文