Python数据分析与展示

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

2018-01-23  本文已影响27人  努力奋斗的durian

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库的使用

import matplotlib.pyplot as plt
import numpy as np

plt.plot([3,1,4,5,2])
plt.ylabel("grade")
plt.show()

2.1pylot的绘图区域

2.1.1pylot的绘图区域方法介绍
2.1.2pylot的绘图区域实例

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()

运用实例

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的中文显示方法(最好使用这个)

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实例

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函数

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()函数介绍

6.2GridSpec类介绍

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


7.单元小结


上一篇 下一篇

猜你喜欢

热点阅读