Python绘图

1.安装malplotlib

我用的是pyhton2.7,由这个网页开始http://matplotlib.org/users/installing.html,上面有详细的提示,都是在cmd中输入的,先得安装pip,这个2.7里没有;而安pip又得先安setuptools..............

这个网站或许有用,忘记了http://www.tuicool.com/articles/eiM3Er3/

好吧,就是按照要求,不懂的百度,一步一步安装完成了。

2.使用

下面是数据挖掘书中某道题的一问

#画age,fat的散点图和Q-Q图,在Q-Q图中画出回归直线
import matplotlib.pyplot as plt
import math
from numpy import arange
age=[23,23,27,27,39,41,47,49,50,52,54,54,56,57,58,58,60,61];
fat=[9.5,26.5,7.8,17.8,31.4,25.9,27.4,27.2,31.2,34.6,42.5,28.8,33.4,30.2,34.1,32.9,41.2,35.7];

#求距离和
def get_distance(k,b):
    ii=arange(0,18,1);
    sum=0;
    for i in ii:
        sum+=abs(age[i]*k-fat[i]+b)/math.sqrt(k*k+1);
    return sum;
    
#遍历获取k和b的最佳值,使所有点到该直线的距离和最小
def get_slope():
    min=10000;
    #获取一个等间距数组
    ks=arange(0,1.1,0.1);
    bs=arange(0,21,1);
    arr=[];
    for k in ks:
        for b in bs:
            sum=get_distance(k,b);
            if sum<min:
                min=sum;
                kmin=k;
                bmin=b;
    ks=arange(0,10,0.1);
    bs=arange(-21,0,1);
    for k in ks:
        for b in bs:
            sum=get_distance(k,b);
            if sum<min:
                min=sum;
                kmin=k;
                bmin=b;
    arr.append(kmin);
    arr.append(bmin);
    return arr;
#声明一个绘图界面
fig1=plt.figure(1);
#将界面分成1行2列,并且占用第一列
plt.subplot(121);
plt.plot(age,fat,'ro');
plt.xlabel('age');
plt.ylabel('fat');
plt.xlim(0.0,65.0);
plt.ylim(0.0,45.0);
plt.title('scatter plot');
#占用第二列
plt.subplot(122);
#排序
age.sort();
fat.sort();
plt.plot(age,fat,'ro');
plt.xlabel('age');
plt.ylabel('fat');
plt.xlim(0.0,65.0);
plt.ylim(0.0,65.0);

x=arange(0,65,1);
arr=get_slope();
#关于x的函数
y=arr[0]*x+arr[1];
plt.plot(x,y);
#图像上的标题,一直不能用中文,没解决
plt.title('quantile-quantile plot');

plt.show();


上图



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值