python 安装 matplotlib及相关库
最近打算学python,先从一个实际的例子学起来会比较快。最近工作上需要一个查看波形数据文件的需求,用excel固然可以,但操作比较繁琐,正好拿python练练手。用python画折线图,网上都推荐用matplotlib。但在实际使用的时候,发现配置有些麻烦,画了一些时间才搞定,在这里记录一下,也给有需要的朋友做一个参考。小白向,写的略繁琐,抱歉。
1.首先安装python
首先进入 https://www.python.org/ 主页,在downloads选项卡下,选择windows,在最上方的“Python Release for Windows” 栏目下,我们能看到最新的python release,我这里用的python 2的,所以选择Python 2.7.13(版本会更新,这个只是一个示意)

点击后,选择红框所标的“Windows x86 MSI install”,我之前装过x64版本的,但总是跑不起来matplotlib,后来发现用32位就可以了。这里以后有空再研究。

安装好以后,再系统的命令行中,可以试一下,再任意路径键入“python”,会出现版本号,如下图:

然后查看pip是否正确安装,键入 pip --version(在安装python的时候,应该能够看到pip安装的选项,默认就好),可以看到版本号,如下图。

接下来就要准备安装matplotlib了,matplotlib有很多相关联的包要同时安装,这里网上一个个找很繁琐,推荐大家一个网站:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 这个网站列出了一些python包及其相关包的名称和下载地址,非常方便。举个例子,我们要找matplotlib的相关包,只要用 ctrl + F搜索 “matplotlib”,就能找到如下图,我们可以看到,matplotlib需要 numpy, dateutil, pytz, pyparsing,cycler, setuptools 等相关包,我们一个个下载即可。

首先,点击numpy,下载numpy的包。我这里下载下来的版本是:
numpy-1.11.3+mkl-cp27-cp27m-win32.whl
注意对应python 2.7 和32 位。
下载后,在相应目录使用pip 安装,比如我下载下来的位置在downloads 文件夹,就在该文件夹路径使用pip install 命令。如下图

接下来安装matplotlib,一样的方法,先下载whl文件,然后用pip install 安装。

dateutil, pytz, pyparsing,cycler, setuptools 等相关包也一样一一下载安装,大家可以看截图。有些提示已经安装了,可能之前我装过,反正全部装一遍就可以。
装好以后,我这里就能画出波形了。网上找一个最简单的程序试试看先
import matplotlib import numpy import pyparsing import matplotlib.pyplot as plt
import matplotlib.pyplot as plt plt.plot([1,2,3]) plt.ylabel('some numbers') plt.show()

成功了。
再试一组代码。
import matplotlib.pyplot as plt
x1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] y1 = [30, 31, 31, 32, 33, 35, 35, 40, 47, 62, 99, 186, 480]
x2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] y2 = [32, 32, 32, 33, 34, 34, 34, 34, 38, 43, 54, 69, 116, 271]
x3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y3 = [30, 31, 31, 32, 33, 35, 35, 40, 47, 62]
x4 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y4 = [32, 32, 32, 33, 34, 34, 34, 34, 38, 43] group_labels = ['64k', '128k', '256k', '512k', '1024k', '2048k', '4096k', '8M', '16M', '32M', '64M', '128M', '256M', '512M'] plt.title('broadcast(b) vs join(r)') plt.xlabel('data size') plt.ylabel('time(s)')
# plt.plot(x1, y1,'r', label='broadcast') # plt.plot(x2, y2,'b',label='join') # plt.xticks(x1, group_labels, rotation=0) plt.plot(x3, y3, 'r', label='broadcast') plt.plot(x4, y4, 'b', label='join') plt.xticks(x3, group_labels, rotation=0)
plt.legend(bbox_to_anchor=[0.3, 1]) plt.grid() plt.show()
x = [0,1] y = [0,1]
#plt.figure() plt.plot(x,y) plt.show()
运行得到。

-
混子哥 赞了这篇日记 2020-06-19 13:44:58
-
豆友187529213 赞了这篇日记 2020-02-08 22:08:53