首页 > 代码库 > matplotlib库的常用知识

matplotlib库的常用知识

matplotlib是python上的一个2D绘图库,它可以在夸平台上边出很多高质量的图像。综旨就是让简单的事变得更简单,让复杂的事变得可能。我们可以用matplotlib生成 绘图、直方图、功率谱、柱状图、误差图、散点图等 。

matplotlib的发明人为John Hunter(1968-2012),很不幸,他已经在癌症治疗过程中引起的综合症中去世。一代伟人有很多贡献,我们要缅怀他。如果我们从他的贡献中受益很大的话,请考虑为John Hunter Technology Fellowship 贡献你的力量。

下面的内容我们是基于matplotlib 版本1.5.3进行学习。

matplotlib在以后的工作与学习中有很大的用处,很有必要系统学习一下。

 

那就从画简单的图开始喽:

plot(*args, *kwargs)函数,它可以画出很简单线图,基本用法:

plot(x, y)        # 画出横轴为x与纵轴为y的图,使用默认的线形与颜色;
plot(x, y, bo)  # 用蓝色,且点的标记用小圆,下面会解释哦
plot(y)           # 纵轴用y ,横轴用y的每个元素的坐标,即0,1,2……
plot(y, r+)     #
 
#如果其中x或y 为2D的,则会用它的相应的每列来表示哦,是每列哦,是每列哦,是每列哦,(重要的事情说三遍)
 
plot(x1, y1, ‘g^‘, x2, y2, ‘g-‘) #看到了吗,我们可以使用多对的x, y, format 对当作变量的哦,把它们画一个图里;

对于参数中,常用的format:线的颜色、线的形状、点的标记形状,我们用这三个的时候经常用缩写,它们之间的顺序怎么都可以哦,

如它俩一个意思:r+--‘、+--r。如果我们不想缩写的话,可以分别写成如: color=‘green‘, linestyle=‘dashed‘, marker=‘o‘。

线的形状:

-    solid line style
--    dashed line style
-.    dash-dot line style
:    dotted line style

点的标记:

.    point marker
,    pixel marker
o    circle marker
v    triangle_down marker
^    triangle_up marker
<    triangle_left marker
>    triangle_right marker
1    tri_down marker
2    tri_up marker
3    tri_left marker
4    tri_right marker
s    square marker
p    pentagon marker
*    star marker
h    hexagon1 marker
H    hexagon2 marker
+    plus marker
x    x marker
D    diamond marker
d    thin_diamond marker
|    vline marker
_    hline marker

线的颜色:

‘b’    blue
‘g’    green
‘r’    red
‘c’    cyan
‘m’    magenta
‘y’    yellow
‘k’    black
‘w’    white

常见线的属性有:color,labor,linewidth,linestyle,maker,等,具体要看全的话,见:http://matplotlib.org/api/lines_api.html#matplotlib.lines.Line2D。

看一个例子:

import matplotlib.pyplot as plt
import numpy as np

plt.figure(1) #调用figure函数创建figure(1)对象,可以省略,这样那plot时,它就自动建一个啦;

t = np.arange(0.0, 2.0, 0.1)
s = np.sin(2*np.pi*t)
plt.plot(t, s, r--o, label = sinx)

plt.legend()  #显示右上角的那个label,即上面的label = ‘sinx‘
plt.xlabel(time (s))    #设置x轴的label;
plt.ylabel(voltage (mV))   #设置y轴的label;
plt.title(About as simple as it gets, folks)  
plt.grid(True)   #显示网格;

plt.show()   #显示出figure;
技术分享

 

 

画一个正统统图:

115   shared_ptr<Net<Dtype> > net_;
116   vector<shared_ptr<Net<Dtype> > > test_nets_;

 

net.blobs是一个字典元素:

key:为每一层网络的网络名字

值:为一个blob哦,可以返回data,diff, count, shape

 

net.params是一个字典元素;

key: 为每一层有参数的名字,

值 : 为一个blob的vetcor 哦;vector里的第一个元素为它主要的,第二个元素里面没能什么东西的。

matplotlib库的常用知识