pylab 库在最新版本的 Python 中不再受支持。这是一个方便的模块,将其他几个库捆绑在一起,包括NumPy和matplotlib,以便更容易地在Python中执行数学和科学计算。如果您在安装 pylab 时遇到困难,您可以尝试安装它包含的各个库,例如 NumPy 和 matplotlib,以访问相同的功能。或者,您可以尝试使用提供类似功能的最新库,例如scikit-learn或pandas。
回答不易望请采纳
1, 据我所知,pylab是模块matplotlib下的一个包,所以我们可以进行matplotlib模块的安装,针对于您的Python版本可到Python包官网:https://pypi.python.org/pypi/matplotlib/1.4.3来下载对应的版本,exe文件可以一键安装,whl文件可以解压到Python安装目录下的Lib\site-packages来进行安装。
2,一般要导入pylab时,可以直接用 import pylab 来导入。
一提到python绘图,matplotlib是不得不提的python最著名的绘图库,它里面包含了类似matlab的一整套绘图的API。因此,作为想要学习python绘图的童鞋们就得在自己的python环境中安装matplotlib库了,安装方式这里就不多讲,方法有很多,给个参考的。
本文将在已安装matplotlib的环境中教新手如何快速使用其中的接口进行绘图操作,并展现一个非常直观的绘图例子,以及控制绘图中的一些细节的方法。
既然绘图要用matplotlib的包,并且我们也已经安装了,那么首先肯定是要引入这个包了: import matplotlib.pyplot as plt 。
当然也可以替换为引入pylab(是matplotlib的一个子包,非常适合于进行交互式绘图,本文将以这个为例): import pylab as pl 。
接下来,就是对具体数据进行绘图了。比如我们要绘制一条y=x^2的曲线,可这样写代码:
x = range(10) # 横轴的数据。
y = [i*i for i in x] # 纵轴的数据。
pl.plot(x, y) # 调用pylab的plot函数绘制曲线。
pl.show() # 显示绘制出的图。
执行之后就可以看到绘制出来的图了:
可以看到,要显示一个图非常简单,只要有了两个list作为输入数据,先后调用plot和show函数就可以了。一定要记得只有调用了show之后才会显示出来!只有plot是不行的!
在实际运用中,可能这样一条简单粗暴的线可能并不是我们想要的最好的结果,比如,想要在图形上显示原始数据点,很简单,只要在plot函数中加上一个参数即可: pl.plot(x, y, 'ob-') # 显示数据点,并用蓝色(blue)实现绘制该图形 。
这个参数用法比较灵活,可以从下面的值中组合选择:
颜色(color 简写为 c):
蓝色: 'b' (blue)
绿色: 'g' (green)。
红色: 'r' (red)
蓝绿色(墨绿色): 'c' (cyan)。
红紫色(洋红): 'm' (magenta)。
黄色: 'y' (yellow)。
黑色: 'k' (black)。
白色: 'w' (white)。
线型(linestyle 简写为 ls):
实线: '-'
虚线: '--'
虚点线: '-.'
点线: ':'
点: '.'
点型(标记marker):
像素: ','
圆形: 'o'
上三角: '^'
下三角: 'v'
左三角: '<'
右三角: '>'
方形: 's'
加号: '+'
叉形: 'x'
棱形: 'D'
细棱形: 'd'
三脚架朝下: '1'(像'丫')
三脚架朝上: '2'
三脚架朝左: '3'
三脚架朝右: '4'
六角形: 'h'
旋转六角形: 'H'
五角形: 'p'
垂直线: '|'
水平线: '_'
线是调好了,可是还想加上横纵坐标的说明呢?也很简单,在调用show函数之前添加如下代码:。
pl.xlabel(u"我是横轴")。
pl.ylabel(u"我是纵轴")。
效果如下:
这里一定要记住,传递的字符串一定要是Unicode编码,如果是直接传入字符串,形式如 u'这里是要写的字符串' 即可。
现在就直观多了吧,终于像一个正常的图了,不过,还想再在图里加个图例该咋办?也不难,继续给plot传参数:
pl.plot(x, y, 'ob-', label=u'y=x^2曲线图') # 加上label参数添加图例。
pl.legend() # 让图例生效。
这里也是一样,label字符串参数务必加上u''声明为unicode编码,否则图例将会添加失败。效果图如下:
oh,看到图像上面光秃秃的,就好想给它加个标题: pl.title(u'图像标题') # 字符串也需要是unicode编码 。
有时候,我们的数据可能分布并没有这么集中,比如我们想要对项目中的某些数据进行绘图观察时发现,大量数据聚集在0附近,而少量很大的数据会导致图像显示效果很不好,比如:
x = range(10)+[100]。
y = [i*i for i in x]。
pl.plot(x, y, 'ob-', label=u'y=x^2曲线图')
这时,我们想要限制需要显示的坐标范围:
pl.xlim(-1, 11) # 限定横轴的范围。
pl.ylim(-1, 110) # 限定纵轴的范围。
再上效果图:
好了,到这里plot的常用绘图用法就讲完了,另外,如果需要在一幅图中显示多条线,可以在show函数调用前继续调用plot函数,传入需要绘制的数据和图形显示要求。
matplotlib是个非常好用的库,不管是对于需要写论文画图,还是数据调研中看数据相关性,都是一个得力助手。写这篇文章的背景是我之前在项目中也使用这个做了一个特征与结果之间的相关性调研中使用到了绘图,就学习了一下,下面是对真实数据进行屏蔽改写之后的一个很像的示意图(感兴趣的可以到我github中看源码,本文的完整代码及注释也可在本链接只中找到):
## 绘制该文件中的数据
## 需要引入pylab库,里面用到的函数和MATLAB里的非常类似。
def plotData(X, y):。
length = len(y)。
pylab.figure(1)。
pylab.plot(X, y, 'rx')。
pylab.xlabel('Population of City in 10,000s')。
pylab.ylabel('Profit in $10,000s')。
pylab.show()#让绘制的图像在屏幕上显示出来。
做了一个简单的,不过没有用pylab。
理解下来,只要有图像能保存下来,就应该没问题,
# coding: utf-8。
import Tkinter as TK。
from PIL import Image, ImageTk。
def data_matplotlib():。
import numpy as np。
import matplotlib.pyplot as plt。
....
plt.savefig('tmp.png')。
return ImageTk.PhotoImage(Image.open('tmp.png'))。
# Definition
image = 'Hydrangeas.jpg'。
# Tkinter
root = TK.Tk()
root.title('加载图形数据')。
root.geometry('1024x768+1+1')。
root.update()
canvas = TK.Canvas(root, width=1024, height=768, bg='green')。
image_data = ImageTk.PhotoImage(Image.open(image))。
canvas.create_image(0, 0, image=image_data, anchor=TK.NW)。
i = data_matplotlib()。
canvas.create_image(100, 200, image=i, anchor=TK.NW)。
canvas.create_text(root.winfo_width()/2, root.winfo_height()/10,。
text='Sample', font=('Arial', 18), fill='white')。
canvas.pack(side=TK.TOP, expand=1, fill='both')。
root.mainloop()。
不过,使用中间图片还是有点难看,不知道哪位对matplotlib熟悉点的可以指教一下?