数据可视化基础(一)——Pyplot图表控制基础

目录

Matplotlib库

Pyplot

(一)plt.plot(x,y,format_string,**kwargs)

  (二)中文显示

(1)matplotlib.reParams

(2)指定fontproperties、fontsize、fontcolor

(三)文本显示函数

(四)pyplot的子绘图区域

(1)plt.subplot2grid()

(2)GridSpec类


Matplotlib库

Python的优秀数据可视化库。

效果展示:http://matplotlib.org/gallery/html

Matplotlib库由各种可视化类构成,内部结构复杂,受matlab启发。

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

而我们仅需要通过pyplot就可以使用matplotlib中所有可视化类,因此这是我们重点使用的。

Pyplot

(一)plt.plot(x,y,format_string,**kwargs)

  • x:x轴数据,列表或数组,可选。
  • y:y轴数据,列表或数组。
  • format_string:控制曲线的格式字符串,由颜色、风格、标记字符组成,可选。
  • **kwargs:第二组或者更多(x,y,format_string,**kwargs),即一图多线。当绘制多条曲线,各x不能省。
  • 其他:color、linestyle、marker、makerfacecolor、makersize......

(二)中文显示

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

(1)matplotlib.reParams

  • font.family:显示字体的名称
  • font.style:字体风格,正常‘normal’、斜体'italic'
  • font.size:字体大小,整数字号或“small”、“large”

(2)指定fontproperties、fontsize、fontcolor

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

#1、改变全局字体
matplotlib.rcParams['font.family']='STSong' #华文宋体,包括轴标数字
matplotlib.rcParams['font.size']=20         #大小

#2、在用到中文的地方指定字体属性(建议使用)
plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=20)
plt.xlabel('纵轴:值',fontproperties='SimHei',fontsize=20)

 

(三)文本显示函数

  • plt.xlabel():x轴增加标签
  • plt.ylabel():y轴增加文本标签
  • plt.title():对图形整体增加文本标签,在正上方。
  • plt.text():在任意位置增加文本
  • plt.annotate(s, xy=arrow_crd, xytext=text_crd,arrowprops=dict):xy箭头位置;xytext文字位置;arrowprops箭头显示属性
import numpy as np
import matplotlib.pyplot as plt

a = np.arrange(0.0, 5.0, 0.02)
plt.plot(a, np.cos(2*np.pi*a),'r--')      #x轴数组、y轴数组、线型为红色虚线

plt.xlabel('横轴:时间', fontproperties='SimHei', fontsize=15, color='green') #微软雅黑15号绿
plt.ylabel('纵轴:振幅', fontproperties='SimHei', fontsize=15)                #微软雅黑15号

#$表示Latex格式,增加了文本格式为Latex格式的文本。
plt.title(r'正弦波实例$y=cos(2/pi x)$', fontproperties='SimHei', fontsize=15)

#文本显示在横轴为2纵轴为1的位置,内容,字号
plt.text(4, 1, r'$\mu=100$', fontsize=15)  

#xy:箭头位置;xytext:文字位置;arrowprops:箭头显示属性
#facecolor:箭头颜色,箭头与文字距离,箭头粗细
plt.annotate(r'$\mu=100$', xy=(2,1), xytext=(3,1.5),
             arrowprops=dict(facecolor='black', shrink=0.1, width=2))

plt.axis([-1, 6, -2, 2])
plt.grid(True)
plt.show()

(四)pyplot的子绘图区域

plt.subplot(nrows,ncols,plot_number)#横轴数量,纵轴数量,子图数,逗号可以省略

作用:指定子图划分/激活某个子图

(1)plt.subplot2grid()

plt.subplot2grid(GridSpec,CurSpec,colspan=1,rowspan=1)

理念:在一个区域设定规则的网格,选中网格,确定选中行列区域数量,编号从零开始。

#将一个区域,分割为3*3基本网格类型,当前被选择的位置是(1,0),然后衍生一列

plt.subplot2grid((3,3),(1,0),colspan=2)

(2)GridSpec类

import matplotlib.gridspec as gridspec
gs = gridspec.GridSpec(3,3)

ax1 = plt.subplot(gs[0,:])    #第一行,所有列
ax2 = plt.subplot(gs[1,:-1])  #第二行,1-2列

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值