导入pyplot子库

import matplotlib.pyplot as plt

plt.plot() 只有一个输入列表或数组时,参数被当作Y轴,X轴以索引自动生成
plt.savefig() 将输出图片存储为文件,默认PNG格式,可以通过dpi修改输出质量
plt.plot(x,y) 当有两个以上参数时,按照X轴和Y轴顺序绘制数据点

pyplot的绘图区域

plt.subplot(nrows, ncols, plot_number) 在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域

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

颜色字符、风格字符和标记字符可以组合使用

**kwargs:第二组或更多(x,y,format_string)

  • color: 控制颜色,color='green'
  • linestyle: 线条风格,linestyle='dashed'
  • marker: 标记风格, marker='o'
  • markerfacecolor: 标记颜色,markerfacecolor='blue'
  • markersize: 标记尺寸,markersize=20
  • ...

clipboard.png

clipboard.png

pyplot的中文显示

第一种方法

pyplot并不默认支持中文显示,需要rcParams修改字体实现

import matplotlib

matplotlib.rcParams['font.family'] = 'SimHei' #SimHei是黑体

rcParams的属性

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

中文字体的种类

rcparams['font.family']

中文字体 说明
'SimHei' 中文黑体
'Kaiti' 中文楷体
'LiSu' 中文隶书
'FangSong' 中文仿宋
'YouYuan' 中文幼圆
'STSong' 华文宋体

第二种方法

在有中文输出的地方,增加一个属性:fontproperties

clipboard.png

clipboard.png

一般推荐使用第二种

pyplot的文本显示

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

plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict)

  • s:要注解的字符串
  • xy:箭头所在位置
  • xytext:文本显示位置
  • arrowprops:箭头显示的一些属性

clipboard.png

clipboard.png

pyplot的子绘图区域

plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始

  • GridSpec :将区域分割的网格形状,元组
  • CurSpec:当前为subplot选定的位置
  • colspan:列的方向的延申(即横向)
  • rowspan:行的方向的延申(即纵向)

clipboard.png

clipboard.png

也可以用GridSpec类+subplot实现相同的效果

clipboard.png

clipboard.png

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_data() 绘制数据日期

pyplot饼图的绘制

clipboard.png

clipboard.png

pyplot直方图的绘制

clipboard.png

clipboard.png

pyplot极坐标图的绘制

clipboard.png

clipboard.png

pyplot散点图的绘制

clipboard.png

clipboard.png


橙茗
26 声望5 粉丝

python c