美文网首页Python数据分析与展示
(五)Matplotlib库入门|python数据分析与展示(学

(五)Matplotlib库入门|python数据分析与展示(学

作者: 努力奋斗的durian | 来源:发表于2018-01-23 11:36 被阅读27次

1.本周课程导学
2.Matplotlib库的介绍
3.pyplot 的plot()函数
4.pyplot 的中文显示
5.pyplot 的文本显示
6.pyplot 的子绘图区域
7.单元小结

网页链接【Python 数据分析与展示】.MOOC. 北京理工大学
https://www.bilibili.com/video/av15825380/index_4.html#page=21

最近更新:2018-01-23

1.本周课程导学

2.Matplotlib库的介绍

2.1Matplotlib库的效果

2.1Matplotlib库的使用

  • 1个参数使用例子
    [3,1,4,5,2]是作为纵坐标的值,plot函数输入参数只是一个一维的列表,那么这个参数会被当作y轴来处理.x轴就是这个列表的索引,第一个元素是0,第二个元素是1,最后一个索引元素是4,横坐标是0到4这个跨度组成.x轴是自动生成的.
import matplotlib.pyplot as plt
import numpy as np

plt.plot([3,1,4,5,2])
plt.ylabel("grade")
plt.show()
  • 绘制的图像存储文件
  • 2个参数维使用例子
    • 前面的参数代表x轴,后面的参数代表y轴
      -plt. axis是横纵坐标尺度的函数.它的参数是具有四个变量的列表-1,10是代表x轴最左侧的坐标,起始于-1,终止于10,纵轴的坐标起始于0,终止于6



2.1pylot的绘图区域

2.1.1pylot的绘图区域方法介绍
  • 第1参数是为横轴数量.第2参数是为纵轴数量子区域,第3参数是为当前绘图区的哪一块区域.从左上角开始为编号1号区域,从左往右,然后不断换行,按从左往右开始逐一编号.

  • 比如这里的plt.subplot(3,2,4)将绘图区域分为3个横轴,2个纵轴,区域分成6块.4为当前绘图区域.

  • plt.subplot(3,2,4)由于都是数字,可以将逗号去掉,写成plt.subplot(324)

2.1.2pylot的绘图区域实例
  • f(t)是一个能量衰减函数, 使用numpy作为计算数组返回衰减的一个基础类
  • numpy生成数组a
  • 注意subplot的使用,使用subplot产生一个211的参数,将绘图区域,分为2行1列,选择上面1号这一块
  • plot(a,f(a))绘制对应a的能量衰减曲线.之后将当前的绘图区域放到整个图形绘制区域的下面部分.使用subplot(2,1,2)选择编号2区域.
  • 对a做一个cos函数处理,绘制余弦曲线,曲线的形式设置为一个曲线的格式
  • 重点理解子绘图区域的概念,subplot可以确定子绘图区域.


3.pyplot 的plot()函数

3.1plot()函数介绍

3.2plot()函数实例

 import matplotlib.pyplot as plt
 import numpy as np
 a=np.arange(10)
 plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5)
 plt.show()
3.3format_string

format_string由颜色字符/风格字符和标记字符可以组合使用

3.3.1颜色字符定义
3.3.2风格字符定义
3.3.3标记字符定义
  • 标记字符的介绍


  • 标记字符的实例介绍
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-.")
plt.show()

如果没有注明颜色,系统会自动用其他颜色画出.

3.3.4其他方式的标记定义

与之前的简写字符是一一对应的


4.pyplot的中文显示

pyplot并不默认中文的显示,希望在坐标系出现中文的汉字,需要增加额外的代码辅助介绍两种方法,具体如下:

4.1第一种pyplot的中文显示方法

SimHei是中文黑体的意思


image.png
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams["font.family"]="SimHei"
plt.plot([3,1,4,5,2])
plt.ylabel("纵坐标(值)")
plt.savefig("test",dpi=600)
plt.show()
  • rcParams的属性
    这种字体的改变,会改变绘图所有的文本,比如横纵坐标的数字,文本均会改变成相对应的字体.

运用实例

import matplotlib
import numpy as np

matplotlib.rcParams["font.family"]="STSong"
matplotlib.rcParams["font.size"]=20

a=np.arange(0.0,5.0,0.02)
plt.xlabel("横轴:时间")
plt.ylabel("纵轴:振幅")
plt.plot(a,np.cos(2*np.pi*a),"r--")
plt.show()

4.2第二种pyplot的中文显示方法(最好使用这个)

  • 在有中文输出的地方,增加一个属性fontproperties.
  • fontproperties仅对设置的区域起作用,其他的地方的数字和文字不起作用


import matplotlib.pyplot as plt
import numpy as np

a=np.arange(0.0,5.0,0.02)
plt.xlabel("横轴:时间",fontproperties="SimHei",fontsize=20)
plt.ylabel("纵轴:振幅",fontproperties="SimHei",fontsize=20)
plt.plot(a,np.cos(2*np.pi*a),"r--")

5.pyplot 的文本显示

5.1pyplot 的文本显示函数

至少要掌握这5个基本函数,这样绘制的图形才非常专业


5.2实例

  • $y=cos(2\pi x)$这个是排版格式
  • plt.grid(True)这个加入网格


import matplotlib.pyplot as plt
import numpy as np

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)
plt.title(r"正弦波实例 $y=cos(2\pi x)$",fontproperties="SimHei",fontsize=25)
plt.text(2,1,r"$\mu=100$",fontsize=15)
plt.axis([-1,6,-2,2])
plt.grid(True)
plt.show()
image.png

5.3annotate函数

  • s代表要注解的字符串是什么
  • xy表示箭头所在位置
  • xytext表示文本显示的位置
  • arrowprops字典类型,定义了箭头的属性
import matplotlib.pyplot as plt
import numpy as np

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)
plt.title(r"正弦波实例 $y=cos(2\pi x)$",fontproperties="SimHei",fontsize=25)
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()

width箭头的宽度,shrink表示箭头不跟所指的位置直接靠近,留有一个很小的空白.

6.pyplot 的子绘图区域

应该这样绘制复杂的区域


6.1subplot2grid()函数介绍

  • 第一个参数是个元组,将区域分割成什么样的网格形状,比如(3,3)表示把一个区域分割成三行三列,九块区域的一个基本类型.

  • 第二个参数代表subplot当前选定的区域在那里?针对(3,3) 而言(1,0)代表的是第一行第0列所在位置,也是图中左侧绘制区域的部分.

  • 第三个参数colspan表示的是列的延伸,也就是从(1,0)开始,在列的方向上在延伸两个长度.就是图中所构造的黄色区域.


  • subplot2grid()函数实例


6.2GridSpec类介绍

GridSpec(3,3)代表的是3行3列


7.单元小结


相关文章

网友评论

    本文标题:(五)Matplotlib库入门|python数据分析与展示(学

    本文链接:https://www.haomeiwen.com/subject/jfnjaxtx.html