机器学习实战python版本matplotlib安装遇到的各种问题和代码演示

原创 2015年11月19日 20:39:49

接着上面的博客写的。
http://blog.csdn.net/xd_senior/article/details/49906023
前一个博客写了python的安装和numpy的安装及应用,还有一些书中代码的演示。

接下来写一下我在安装matplotlib中遇到的各种奇葩问题。我的版本是windows64,但是安装的确是win32的版本。
http://sourceforge.net/projects/matplotlib/files/这个里面各种版本的都有,大家下下来就可以直接安装。这个不是主要问题我是一次性安装成功,不像numpy安装了N次。

matplotlib不是安装上就可以用。还需要安装别的库。numpy就是前面一个,好像matplotlib 1.5的版本要配numpy 1.8及之上的版本。我之前安装的就是numpy1.5版本,在输入命令import matplotlib.pyplot as plt时就给我提示这个错误:
RuntimeError: module compiled against API version 7 but this version of numpy is 6 Traceback (most recent call last): ImportError: numpy.core.multiarray failed to import
我是重新安装了numpy1.8就可以了。

dateutil
pyparsing
scipy
http://www.lfd.uci.edu/~gohlke/pythonlibs/上面的这些都可以从这个网站下到。
之后在控制台中输入pip install **.whl就可以安装了。
如果提示需要安装Msvcp.dll,就还要下载一个脚本。http://pan.baidu.com/s/1kTo5dLP 我的网盘里就有。
这些都安装上了如果还是提示错误:ImportError: No module named ‘cycler’https://pypi.python.org/pypi/Cycler 这里里面可以下载到这个库。安装之上就没问题了,或者直接把里面的文件复制到C:\Python27\Lib\site-packages这个文件夹里面也行,我就是这么做的简单粗暴。
要是还有什么问题,可以在留言板下面留言或者直接百度,相信我们不是第一个遇到这样问题的人,总可以从网上找到相似的答案,然后自己多去尝试,就能解决问题。

好了,到此为止我的matplotlib就安装完成了。
测试P23页上面的代码应该就是没有问题了!

>>> import matplotlib
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> import kNN
>>> datingDataMat,datingLabels = kNN.file2matrix('datingTestSet2.txt')
>>> ax.scatter(datingDataMat[:,1],datingDataMat[:,2])
<matplotlib.collections.PathCollection object at 0x04600F70>
>>> plt.show()

图2.3

大家会发现这里面没有坐标轴的标注,所以说书中给的代码不全,我自己从网上查了一下代码:

from matplotlib.font_manager import FontProperties
plt.xlabel(u'每年获取的飞行常客历程数',fontproperties=font)
plt.ylabel(u'玩游戏所耗时间百分比',fontproperties=font)

前面需要导入那个库,不要忘了,否则就无法显示中文。#-- coding: utf-8 --这个特别注释也要加上,网上说这个很特别,不是普通的注释。
坐标轴

运行这页下面的代码就可以画出不同颜色的散点,关于scatter的应用,可以查看文档,http://matplotlib.org/api/pyplot_api.html?highlight=scatter#matplotlib.pyplot.scatter
这里写图片描述
这里写图片描述

但是我们发现最后一张图片和P24页下面还不一样,缺少一个对不同颜色点的备注,我从网上找到的一段代码,供大家学习和参考:

'''
Created on Oct 6, 2010

@author: Peter
'''
from numpy import *
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle


n = 1000 #number of points to create
xcord1 = []; ycord1 = []
xcord2 = []; ycord2 = []
xcord3 = []; ycord3 = []
markers =[]
colors =[]
fw = open('testSet.txt','w')
for i in range(n):
    [r0,r1] = random.standard_normal(2)
    myClass = random.uniform(0,1)
    if (myClass <= 0.16):
        fFlyer = random.uniform(22000, 60000)
        tats = 3 + 1.6*r1
        markers.append(20)
        colors.append(2.1)
        classLabel = 1 #'didntLike'
        xcord1.append(fFlyer); ycord1.append(tats)
    elif ((myClass > 0.16) and (myClass <= 0.33)):
        fFlyer = 6000*r0 + 70000
        tats = 10 + 3*r1 + 2*r0
        markers.append(20)
        colors.append(1.1)
        classLabel = 1 #'didntLike'
        if (tats < 0): tats =0
        if (fFlyer < 0): fFlyer =0
        xcord1.append(fFlyer); ycord1.append(tats)
    elif ((myClass > 0.33) and (myClass <= 0.66)):
        fFlyer = 5000*r0 + 10000
        tats = 3 + 2.8*r1
        markers.append(30)
        colors.append(1.1)
        classLabel = 2 #'smallDoses'
        if (tats < 0): tats =0
        if (fFlyer < 0): fFlyer =0
        xcord2.append(fFlyer); ycord2.append(tats)
    else:
        fFlyer = 10000*r0 + 35000
        tats = 10 + 2.0*r1
        markers.append(50)
        colors.append(0.1)
        classLabel = 3 #'largeDoses'
        if (tats < 0): tats =0
        if (fFlyer < 0): fFlyer =0
        xcord3.append(fFlyer); ycord3.append(tats)    

fw.close()
fig = plt.figure()
ax = fig.add_subplot(111)
#ax.scatter(xcord,ycord, c=colors, s=markers)
type1 = ax.scatter(xcord1, ycord1, s=20, c='red')
type2 = ax.scatter(xcord2, ycord2, s=30, c='green')
type3 = ax.scatter(xcord3, ycord3, s=50, c='blue')
ax.legend([type1, type2, type3], ["Did Not Like", "Liked in Small Doses", "Liked in Large Doses"], loc=2)
ax.axis([-5000,100000,-2,25])
plt.xlabel('Frequent Flyier Miles Earned Per Year')
plt.ylabel('Percentage of Time Spent Playing Vid
eo Games')
plt.show()

这里写图片描述
书中代码文件:http://pan.baidu.com/s/1bnbonnx

学习进度慢,下一节得到周末学了。还有好多报告,作业要写,论文要看。
请大家多多指教!

【机器学习实战02】k-近邻算法

1、k-近邻算法概述 k-近邻算法采用测量不同特征值之间的距离方法进行分类。 优点:精度高、对异常值不敏感、无数据输入假定 缺点:计算复杂度高、空间复杂度高 适用数据范围...

安装python及一些库文件(numpy+scipy+matplotlib+scikit-image+six)时遇到的问题

新人小白,要用python,其中遇到了很多问题,总结一下。 win10系统。 安装版本是python2.7.13(官网下载https://www.python.org/),工具pip版本是pip9.0...

查看python,numpy,scipy,matplotlib的版本及版本更新

查看python,numpy,scipy,matplotlib的版本及版本更新

python2.7安装matplotlib的一些问题

笔者由于写论文需要对数据处理,然后绘图,因此要安装matplotlib拓展库。笔者的python是2.7版本,先去http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...

《机器学习实战》-kNN算法手写算法识别

通过观看机器学习实战这本书,有了些许读后感,下面是我理解这本书里面的KNN算法,希望阔以帮助你们稍微加强一下理解数据集代码下载 KNN算法其实就是邻近算法,或者说K最近邻(kNN,k-Nearest...

数据挖掘学习札记:KNN算法(一)

参考: 1. KNN算法介绍,Python程序和一个简单算例 2. k-nearest neighbor algorithm 基本想法: 在距离空间里,如果一个样本的最接近的k个邻居里...
  • zhaoyl03
  • zhaoyl03
  • 2013年03月14日 19:54
  • 32086

机器学习实战python环境搭建以及numpy和matplotlib安装遇到的各种问题(一)

第一次在大神云集的CSDN写博客,以前都是在新浪上随便写一写,当作平时的遇到的一些问题的总结。 自己从这里学到了很多知识,也解决了很多问题。 自学的时候会遇到很多问题,由于没有时间系统的学习知识,...

机器学习实战python版决策树以及Matplotlib注解绘制决策树

这一章代码比较难懂,主要是matplotlib的函数调用参数多,调用灵活,让初学者费解。 import matplotlib.pyplot as plt decisionNode = dict(b...

《机器学习实战》——在python中使用Matplotlib注解绘制树形图

# encoding=utf-8 #使用文本注解绘制树形图 import matplotlib.pyplot as plt decisionNode = dict(boxstyle="sawtoot...

《机器学习实战》第三章 3.2在python 中使用matplotlib注解绘制树形图

《机器学习实战》系列博客主要是实现并理解书中的代码,相当于读书笔记了。毕竟实战不能光看书。动手就能遇到许多奇奇怪怪的问题。博文比较粗糙,需结合书本。博主边查边学,水平有限,有问题的地方评论区请多指教。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:机器学习实战python版本matplotlib安装遇到的各种问题和代码演示
举报原因:
原因补充:

(最多只允许输入30个字)