【Python数据分析与展示】(三)matplotlib库pyplot

简单例子:

import matplotlib.pyplot as plt
%pylab
plt.plot([1,44,5,6])
plt.ylabel("abc")
plt.savefig("test",dpi = 600) #png文件

【Python数据分析与展示】(三)matplotlib库pyplot_第1张图片

plt.plot([1,2,3,4],[1,4,5,6])
plt.ylabel("grade")
plt.axis([-1,6,0,10])# [xmin, xmax, ymin, ymax]

【Python数据分析与展示】(三)matplotlib库pyplot_第2张图片

plt.subpolt(number_of_raws,num_of_cols, subplot_area_num) #创建一个几行几列的绘图区域,表明subpolt在哪个区

def f(x):
    return x **2
y = np.arange(-5,6,0.2)
def f1(x):
    return cos(x)
plt.subplot(1,2,1) #分成一行两列,选择第二列(index:1)
plt.plot(y,f(y))
plt.subplot(122)
plt.plot(y,f1(y),"r--")

【Python数据分析与展示】(三)matplotlib库pyplot_第3张图片

pyplot的plot函数

plt.plot(x,y,format_string,**kwargs)
x: x轴数据,列表或数组,如果绘制一个曲线,x可省略,如果多组,x不可省略
y:y轴数据,列表或数组,或函数
format_string :曲线的格式字符串,可选
**kwargs:第二组或更多(x,y,format_string,**kwargs)

format_string:颜色字符,风格字符,标记字符:
颜色字符: ‘r’ 表示red ‘b’表示blue 等等,或者’#008000’用rgb颜色表示,灰度’o.8’
风格字符: ‘-‘实线 ‘–’破折线 ‘-.’点划线 ‘:’虚线 ’ ’ 无
标记字符:
【Python数据分析与展示】(三)matplotlib库pyplot_第4张图片

a= np.arange(0,10)
plt.plot(a,a*1.5,'go-',a,a*2.5,'*',a,a*3.5,'rx',a,a*5,'b-.') 
plt.plot(a,a*1.5,'go-',a,a*2.5,'*',a,a*3.5,'rx',a,a*5,'#345872','b-')

【Python数据分析与展示】(三)matplotlib库pyplot_第5张图片

matplotlib 中文显示

需要引入matplotlib库,用rcParams来实现

matplotlib.rcParams["font.family"] = "SimHei"
plt.plot([1,44,5,6])
plt.ylabel("纵轴")

rcParams是个字典,属性说明
font.family =字体
font.style = 字体风格 normal正常,italic 斜体
font.size = 字体大小,整数字号或者“x-small” 或”large”

这种方法改变了全局字体,建议使用第二种方法

plt.xlabel (‘横轴’,fontproperty = “SimHei”,fontsize = 20)

matplotlib 文本显示

函数 说明
plt.xlabel() x轴文本标签
plt.ylabel() y轴文本标签
plt.title() 整体文本标签
plt.text() 在任意位置增加文本
plt.anotate() 在图形中增加带箭头的注释
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
%pylab
a = np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.xlabel ("横轴:时间",fontproperties= "SimHei",fontsize = 15,color = "green")
plt.ylabel ("纵轴:振幅",fontproperties= "SimHei",fontsize = 15,color = "green")
plt.title(r"正弦波实例$y = cos(2\pi x)$",fontproperties = "SimHei",fontsize = 25) #latex表达式
plt.text(2,1,r"$\mu=100$",fontsize = 15)
plt.annotate(r"$\mu=-100$",xy=(2.5,-1),xytext = (3.5,-1.5),arrowprops = dict(facecolor = "black",width =2,shrink =0.1))# (标注内容,箭头位置,文本位置,箭头属性(是个字典))
plt.axis([-1,6,-2,2])
plt.grid(True)

【Python数据分析与展示】(三)matplotlib库pyplot_第6张图片

subplot2grid函数

plt.subplot2grid(GridSpec,CurSpec,colspan =1,rowspan =1)
(分成几行几列(元组),处于几行几列,列延伸,行延伸)

复杂子绘图区域第二种方法:
import matplotlib.gridspec as gridspec
gs =gridspec.Gridspec(3,3)

ax1 = plt.subplot.gs[0,:]
ax2 = plt.subplot.gs[1,:-1]
ax3= plt.subplot.gs[1:,-1]
ax4 = plt.subplot.gs[2:0]
ax5 = plt.subplot.gs[2:1]

pyplot基础图形函数

饼图:适合百分数的展示

labels = "dog","cat","panda","carlo" 
sizes = [15,30,45,10]
explode = [0,0.1,0,0] #拿出来的饼离开主饼部分的比例
plt.title("pie",loc= 'right')
plt.pie (sizes,explode=explode,labels = labels ,autopct = '%1.1f%%',shadow = False,startangle =90) 
plt.axis ("equal")

你可能感兴趣的:(python数据分析)