matplotlib 基础学习

matplotlib的简单学习

1.     创建一个图纸(python会自动默认一个图纸)figure

2.     在图纸上创建子图(绘图区域)subplot

3.     通过plot进行图形绘制,可画出散点图、直线图,折线图等各种图形

4.     其它各种功能

import matplotlib.pyplot as plt

import numpy as np

plt.figure()  #创建图纸

plt.plot([1,2,3,4],[5,6,7,8],'ro')  #绘画[1,2,3,4],[5,6,7,8]分别代表(x,y)’ro’表示使用红,#      色,以o为图标进行打印,颜色选取一般为首字母,

plt.xlabel('12')    #y,label 顾名思义及是Y轴的信息,

plt.ylabel('10')   #同理

plt.title("你好")  #放置文本信息,


#一下模块不在进行导入,已经导入过的模块默认导入

Improt numpy as np

t=np.arange(0.,5.,0.1)   #0到5生成步距为0.2的数组

plt.plot(t,t,'r--',t,t**2,'bs',t,t*t,'g^')

 

现在我们来看看通过子图显示画图

def f(t):  #定义函数

    returnnp.exp(-t)*np.cos(2*np.pi*t)  #e-t*cos(2*pi*t)

t1=np.arange(0.,5,0.1)

t2=np.arange(0.,5,0.01)

plt.figure(1)

plt.subplot(211)   #子图1在第一行第一列

plt.plot(t1,f(t1),'bo',t2,f(t2),'k')

plt.figure(2)

plt.subplot(212)  #图二在第一行第二列

plt.plot(t2,np.cos(2*np.pi*t2),'r--') 

看一下运行的结果


Subplot还可以按照数组的形式生成子图

x,y=plt.subplots(2,3)  #会返回多个子图 x(2.3) 6个子图,返回y是已经创建的subplot的对象numpy数组

 

nrows

subplot的行数

ncols

subplot的列数

sharex

所有subplot应该使用相同的X轴刻度(调节xlim将会影响所有subplot)

sharey

所有subplot应该使用相同的Y轴坐标(调节ylim将会影响所有subplot)

subplot_kw

用于创建各subplot的关键字典

**fig_kw

创建figure时的其他关键字,如plt.subplots(2,2,figsize=(8,6))

 

 

Plt.hist()的使用

hist函数可以直接绘制直方图。

n, bins, patches= plt.hist(arr, bins=10, normed=0, facecolor='black', edgecolor='black',alpha=1,histtype='bar')

hist的参数非常多,但常用的就这六个,只有第一个是必须的,后面四个可选

arr: 需要计算直方图的一维数组

bins: 直方图的柱数,可选项,默认为10

normed:是否将得到的直方图向量归一化。默认为0

facecolor:直方图颜色

edgecolor:直方图边框颜色

alpha:透明度

histtype:直方图类型,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’

返回值 :

n: 直方图向量,是否归一化由参数normed设定

bins: 返回各个bin的区间范围

patches:返回每个bin里面包含的数据,是一个list

看一个例子


mu,sigma = 100, 15

x = mu+ sigma * np.random.randn(110) # 生成数组数据

n,bins, patches = plt.hist(x, 80, normed=1, facecolor='g', alpha=0.75)

plt.xlabel('Smarts')

plt.title('Hist') 

plt.text(50, .025,r'$\mu=100,\ \sigma=15$') # 任意位置添加文本,# #                                                               #plt.test(x,y)文本放置位置

plt.axis([60,150, 0, 0.03])

plt.grid(True)

 

程序效果图

将图标保存到文件

利用plt.savefig可以将当前图标保存到文件。该方法相当于Figure对象的实例方法savefig。例如,要将图标保存为SVG文件,你只需输入:plt.savefig('figpath.svg')。文件类型是通过文件扩展名推断出来的

Figure.savefig方法的参数及说明如下表所示:

参数      说明

fname    含有文件路径的字符串或Python的文件型对象。图像格式由文件扩展名推断得出

dpi                   图像分辨率(每英寸点数),默认为100

favecolor, edgecolor        图像的背景色,默认为”w”(white)

format            显示设置文件格式(“png”, “pdf”,“svg”, “ps”, “eps”…)

bbox_inches 图标需要保存的部分。如果设置为”tight”,则将尝试检出图标周围的空白部分

猜你喜欢

转载自blog.csdn.net/weixin_42236288/article/details/80947085