python数据分析与展示笔记 第二周 数据展示
内容来自中国大学MOOC,北京理工大学,python数据分析与展示课程,侵删。
如有错误,烦请指出。
python数据分析与展示笔记 第二周 数据展示
一、Matplotlib 库
import matplotlib.pyplot as plt
1. pyplot 的绘图函数
plt.plot(y)
只有一个输入列表或数组时,参数被当作 Y 轴,X 轴以索引自动生成plt.plot(x,y)
当有两个以上参数时,按照 X 轴和 Y 轴顺序绘制数据点
2. pyplot 的中文显示 - 方法一
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
rcParams
的属性:
- 中文字体的种类:
- 实例:
3. pyplot 的中文显示 - 方法二
在有中文输出的地方,增加一个属性 fontproperties
4. pyplot 的文本显示函数
5. pyplot 的子绘图区域
(1) plt.subplot()
(2)
plt.subplot2grid()
(3) GridSpec 类
二、实例二:引力波的绘制
1. 代码
'''实例二:引力波的绘制'''
import numpy as np
import matplotlib.pyplot as plt
from scipy.io import wavfile
rate_h, hstrain = wavfile.read(r"H1_Strain.wav","rb")
rate_l, lstrain = wavfile.read(r"L1_Strain.wav","rb")
reftime, ref_H1 = np.genfromtxt('wf_template.txt').transpose()
htime_interval = 1/rate_h
ltime_interval = 1/rate_l
fig = plt.figure(figsize=(12, 6))
# 丢失信号起始点
htime_len = hstrain.shape[0]/rate_h
htime = np.arange(-htime_len/2, htime_len/2, htime_interval)
plth = fig.add_subplot(221)
plth.plot(htime, hstrain, 'y')
plth.set_xlabel('Time (seconds)')
plth.set_ylabel('H1 Strain')
plth.set_title('H1 Strain')
ltime_len = lstrain.shape[0]/rate_l
ltime = np.arange(-ltime_len/2, ltime_len/2, ltime_interval)
pltl = fig.add_subplot(222)
pltl.plot(ltime, lstrain, 'g')
pltl.set_xlabel('Time (seconds)')
pltl.set_ylabel('L1 Strain')
pltl.set_title('L1 Strain')
pltref = fig.add_subplot(212)
pltref.plot(reftime, ref_H1)
pltref.set_xlabel('Time (seconds)')
pltref.set_ylabel('Template Strain')
pltref.set_title('Template')
fig.tight_layout()
plt.savefig("Gravitational_Waves_Original.png")
plt.show()
plt.close(fig)
2. 代码分析
(1) 产生时间序列
(2) 读取应变数据
(3)绘制 H1 Strain
(4) 绘制 L1 Strain & Template
(5) 显示并保存图像