Python---Maplotlib数据展示库

matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式

引入库:

import matplotlib.pyplot as plt

pyplot的plot()函数

plt.plot(x, y, format_string, **kwargs)
  • x : X轴数据,列表或数组,可选
  • y : Y轴数据,列表或数组
  • format_string: 控制曲线的格式字符串,可选
  • **kwargs : 第二组或更多(x,y,format_string)

绘制多条曲线时,各条曲线的x不能省略

format_string

颜色字符 说明 颜色字符 说明
‘b’ 蓝色 ‘m’ 洋红色
‘g’ 绿色 ‘y’ 黄色
‘r’ 红色 ’k’ 黑色
‘c’ 青绿色 ‘w’ 白色
‘#008000’ RGB某颜色 ‘0.8’ 灰度值字符串
风格字符 说明
‘‐’ 实线
‘‐‐’ 破折线
‘‐.’ 点划线
‘:’ 虚线
” ’ ‘ 无线条
标记字符 说明 标记字符 说明 标记字符 说明
‘.’ 点标记 ‘1’ 下花三角标记 ‘h’ 竖六边形标记
‘,’ 像素标记(极小点) ‘2’ 上花三角标记 ‘H’ 横六边形标记
‘o’ 实心圈标记 ‘3’ 左花三角标记 ‘+’ 十字标记
‘v’ 倒三角标记 ‘4’ 右花三角标记 ‘x’ x标记
‘^’ 上三角标记 ’s’ 实心方形标记 ‘D’ 菱形标记
‘>’ 右三角标记 ‘p’ 实心方形标记 ‘d’ 瘦菱形标记
‘<’ 左三角标记 ‘*’ 星形标记 ‘|’ 垂直线标记

例如:

import matplotlib.pyplot as plt
import numpy as np

a=np.arange(10)
plt.plot(a,a*1.5,'go-',a,a*2.5,'rx',a,a*3.5,'*',a,a*4.5,'b-h')
plt.show()

Python---Maplotlib数据展示库_第1张图片

pylot的中文显示

1. 使用rcParams修改字体

rcParams的属性

属性 说明
‘font.family’ 用于显示字体的名字
‘font.style’ 字体风格,正常’normal’或 斜体’italic’
‘font.size’ 字体大小,整数字号或者’large’、’x‐small’

1. 百度搜索,simhei,下载后放到 /Users/xxxxx/anaconda/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf目录中
2. 删除 /Users/xxxxx/.matplotlib/*.cache
3. 运行

import matplotlib
matplotlib.matplotlib_fname()

找到获得matplotlib包所在文件夹,打开matplotlibc font.family和font.sans-serif两项,将#注释去掉,打开。
设置
font-family : sans-serif
font.sans-serif : SimHei,
4. 代码部分
import matplotlib.pyplot as plt
plt.rcParams[‘font.sans-serif’]=[‘SimHei’] #用来正常显示中文标签
plt.rcParams[‘axes.unicode_minus’]=False #用来正常显示负号

例如:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib

matplotlib.rcParams['font.sans-serif']=['SimHei']#设置字体为中文黑体
matplotlib.rcParams['font.size']=20 #大小为20


a=np.arange(0.0,5.0,0.01)

plt.xlabel('时间') #横轴
plt.ylabel('振幅') #纵轴

plt.plot(a,np.cos(2*np.pi*a),'r*')
plt.show()

Python---Maplotlib数据展示库_第2张图片

pyplot的文本显示

文本显示函数

函数 说明
plt.xlabel() 对X轴增加文本标签
plt.ylabel() 对Y轴增加文本标签
plt.title() 对图形整体增加文本标签
plt.text() 在任意位置增加文本
plt.annotate() 在图形中增加带箭头的注解

pyplot基础图标函数

函数 说明
plt.plot(x,y,fmt,…) 绘制一个坐标图
plt.boxplot(data,notch,position) 绘制一个箱形图
plt.bar(left,height,width,bottom) 绘制一个条形图
plt.barh(width,bottom,left,height) 绘制一个横向条形图
plt.polar(theta, r) 绘制极坐标图
plt.pie(data, explode) 绘制饼图
plt.psd(x,NFFT=256,pad_to,Fs) 绘制功率谱密度图
plt.specgram(x,NFFT=256,pad_to,F) 绘制谱图
plt.cohere(x,y,NFFT=256,Fs) 绘制X‐Y的相关性函数
plt.scatter(x,y) 绘制散点图,其中,x和y长度相同
plt.step(x,y,where) 绘制步阶图
plt.hist(x,bins,normed) 绘制直方图
plt.contour(X,Y,Z,N) 绘制等值图
plt.vlines() 绘制垂直图
plt.stem(x,y,linefmt,markerfmt) 绘制柴火图
plt.plot_date() 绘制数据日期

饼图例子:

import matplotlib.pyplot as plt

matplotlib.rcParams['font.sans-serif']=['SimHei']#设置字体为中文黑体
matplotlib.rcParams['font.size']=16 #大小

plt.title('大学各年级获奖比例')
labels='大一','大二','大三','大四'
sizes=[15,30,45,10]
explode=(0,0,0,0.1)

plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)

plt.show()

Python---Maplotlib数据展示库_第3张图片

散点图例子:

import matplotlib.pyplot as plt
import numpy as np

fig,ax=plt.subplots()
ax.plot(10*np.random.randn(100),10*np.random.randn(100),'o')
ax.set_title('Simple Scatter')
plt.show()

Python---Maplotlib数据展示库_第4张图片

你可能感兴趣的:(python)