matplotlib学习1

PIL(Python Image Library)图像处理库


http://blog.csdn.net/y15166022470/article/details/51172091








>>> import matplotlib.pyplot as plt
>>> import matplotlib.cbook as cbook
>>> image_file = cbook.get_sample_data('logo2.png')
>>> image = plt.imread(image_file)
>>> plt.imshow(image)
<matplotlib.image.AxesImage object at 0x0000000007607E10>
>>> plt.axis('off')
(-0.5, 559.5, 119.5, -0.5)
>>> plt.show()




快速绘图


使用pyplot模块绘图


matplotlib的pyplot模块提供了和MATLAB类似的绘图API,方便用户快速绘制二维图表。






>>> import numpy as np
>>> import matplotlib.pyplot as plt  (1)
>>> x = np.linspace(0, 10, 1000)
>>> y = np.sin(x)
>>> z = np.cos(x**2)
>>> plt.figure(figsize=(8,4))          (2)
<matplotlib.figure.Figure object at 0x00000000029EF9E8>
>>> plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)(3)
[<matplotlib.lines.Line2D object at 0x0000000002412748>](4)
>>> plt.plot(x,y,"b--",label="$cos(x^2)$")
[<matplotlib.lines.Line2D object at 0x00000000029D3CF8>]
>>> plt.xlabel("Time(s)")       (5)
<matplotlib.text.Text object at 0x00000000029D8160>
>>> plt.ylabel("Volt")
<matplotlib.text.Text object at 0x0000000007613940>
>>> plt.title("PyPlot First Example")
<matplotlib.text.Text object at 0x00000000076108D0>
>>> plt.ylim(-1.2,1.2)
(-1.2, 1.2)
>>> plt.legend()
<matplotlib.legend.Legend object at 0x00000000075FE198>
>>> plt.show()(6)




1)首先载入matplotlib的绘图模块pyplot,并且重命名为plt。


2)调用figure()创建一个Figure(图表)对象,并且它将成为当前Figure对象。也可以不创建Figure对象直接调用接下来的plot()进行绘图,这时matplotlib会自动创建一个Figure对象。figsize参数指定Figure对象的宽度和高度,其单位为英寸。此外还可以用dpi参数指定Figure对象的分辨率,即每英寸所表示的像素数,这里使用缺省值80。因此本例中所创建的Figure对象的宽度为“8*80=640”个像素。但是在显示出绘图窗口之后,用工具栏中的保存按钮将图表保存为图像时,所保存的图像的大小是"800*400"像素。这是因为保存图像时会使用不同的dpi设置。
>>> matplotlib.rcParams["savefig.dpi"]
100
因为保存图像时DPI设置为100,因为所保存的图像的宽度是"8*100=800"个像素。rcParams是一个字典,其中保存着从配置文件读入的所有配置,在调用各种绘图函数是,这些配置将会作为各种参数的缺省值。


3)plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
创建Fifure对象之后,接下来调用plot()在当前的Figure对象中绘图。实际上plot()是在Axes(子图)对象上绘图,如果当前的Figure对象中没有Axes对象,将会为之创建一个几乎充满整个图表的Axes对象,并且使此Axes对象成为当前的Axes对象。plot()的前连个参数是分别表示X、Y轴数据的对象,这里使用的是NumPy数组。使用关键字单数可以指定所绘制的曲线的各种属性:
    label:给曲线指定一个标签名称,此标签将在图示中显示。如果标签字符串的前后有字符'$',则matplotlib会使用期内嵌的LaTex引擎将其显示为数学公式。
    color:指定曲线的颜色,颜色可以用英文单词,或者以
    linewidth:指定曲线的宽度,可以不是整数,也可以使用缩写形式的参数名lw。


4)plt.plot(x,z,"b--",label="$cos(x^2)$") 
直接通过第三个参数"b--"指定曲线的颜色和线性,其中'b'表示蓝色,'--'表示线型为虚线。


5)plt.xlabel("Time(s)") 
xlabel、ylabel:分别设置X、Y轴的标题文字。
title: 设置子图的标题。
xlim、ylim:分别设置X、Y轴的显示范围。
legend:显示图示,即图中表示每条曲线的标签(label)和样式的矩形区域。


6)








面向对象方式绘图




当前的图表和子图可以使用gcf()和gca()获得,他们分别是"Get Current Figure"和"Get Current Axis"的开头字母缩写 。




run E:/python lianxi/matplotlib_simple_plot.py

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值