"""
绘制三维散点图
"""
import matplotlib.pyplot as mp
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
# 1.生成数据
df_1 = pd.read_csv('md_01.csv', names=['HR', 'PULSE', 'RESP', 'SpO2', 'label'])
HR = df_1['HR'].values
PULSE = df_1['PULSE'].values
RESP = df_1['RESP'].values
SpO2 = df_1['SpO2'].values
label = df_1['label'].values
# 2.绘制图片
# 设置matplotlib正常显示中文和负号
matplotlib.rcParams['font.sans-serif']=['KaiTi'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号
fig = plt.figure(figsize=(9, 3.5), facecolor='w')
ax1 = fig.add_subplot(121, projection='3d')
ax2 = fig.add_subplot(122, projection='3d')
# 'Miscellaneous', [
# 'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern',
# 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'hsv',
# 'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'])
ax1.set_xlabel('心率', fontsize=11)
ax1.set_ylabel('脉搏', fontsize=11)
ax1.set_zlabel('呼吸率', fontsize=11)
ax1.scatter(HR, PULSE, RESP, s=20, c=label, cmap="jet", marker="o", )
ax1.set_title('bidmc01Numerics训练数据约简前', fontsize=11, pad=1)
ax2.set_xlabel('心率', fontsize=11)
ax2.set_ylabel('脉搏', fontsize=11)
ax2.set_zlabel('呼吸率', fontsize=11)
ax2.scatter(HR, PULSE, RESP, s=20, c=label, cmap="jet", marker="o", )
ax2.set_title('bidmc01Numerics训练数据约简后'+r'($\theta=0.298$)', fontsize=11, pad=1)
mp.show()
约简前后对比
于 2022-02-27 19:17:00 首次发布