python matplotlib库

来源:互联网 发布:微信mac版 dmg 编辑:程序博客网 时间:2024/06/10 11:27

目录

        • 简介
        • 绘制二维图
        • 绘制三维图
        • 显示中文
        • 保存图像
        • 坐标轴尺度
        • 绘图区域

简介

matplotlib是一个python画图的库。具体参考http://matplotlib.org/api

绘制二维图

plot
plot功能是把给出的点的次序把点用直线连起来。注意坐标必须是一维的,像[[1,2,3]]这种二维坐标就会无法显示。
示例图:
这里写图片描述
可用plot函数来实现,但是plot函数连线是按坐标给出的顺序依次连接各点的。所以必须先对X进行排序,之后再调用plot函数。示例代码(图中曲线):
`index = x.argsort(0);
x =x[index][:,0];
ypredict = ypredict[index][:,0];
ax.plot(x,ypredict);

  • 参数给出两个坐标向量
import matplotlib.pyplot as plt;#引入def getPlot(X,y,w):#三个参数,数据集,结果集,权重    fig = p.figure();    ax = fig.add_subplot(111);#添加画布,111指把画布分为1行1列,而图画在从左向右从上到下第一块。    ax.scatter(X[:,1],y);#散点图(scatter是绘制散点图。第一个参数是x坐标,第二个是y坐标)    ax.plot(X[:,1],X*w);#拟合直线(plot是绘制直线。两个点就可以确定一条直线)    p.show();#显示


  • 参数是一个坐标向量或矩阵

当参数是一个坐标向量时,默认给出的是y轴坐标,x轴从0开始计数,即为坐标向量的索引。
如:
ax.plot([1,2,3,4]);
当参数是一个矩阵时,默认把每列的数值看成一条线的y轴坐标,x轴坐标从0开始。每列画出一条线,有几列就画几条线。
如:
ax.plot([[1,2,3,4],[2,3,4,5],[6,7,8,9]]);

绘制三维图

from mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as pltfig = plt.figure()ax = fig.add_subplot(111, projection='3d')ax.scatter(x1,x2,x3,c='red');//绘制散点图ax.plot(l1,l2,l3,c = "green");//绘制直线#ax.plot([1,2,3],[3,4,1],[8,4,1],'--')plt.show()

显示中文

  • windows下
import matplotlib.pyplot as plt;plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号```
  • liunx下
def conf_zh(font_name):    from pylab import mpl    mpl.rcParams['font.sans-serif'] = [font_name]    mpl.rcParams['axes.unicode_minus'] = Falseconf_zh('Droid Sans Fallback');

保存图像

plt.savefig('name',dpi)#默认为png格式,dpi为清晰度
注意:savefig必须在show方法之前使用,否则会保存一个空图。

坐标轴尺度

plt.axis([-1,9,0,8])#即横轴显示从-1到9,纵轴从0到8。

绘图区域

plt.subplot(3,2,4)/plt.subplot(324)#三行两列,当前图像绘制到从左到右,从上到下第4个。

原创粉丝点击