持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情
这几天在修改论文的数据可视化部分,需要将建模的三维数据点进行可视化,数据存储在数据库中,数据字段包含坐标x,y,z和所属分类。我就将数据导出为excel表,然后利用python中的两个库进行数据读取以及数据的可视化,具体流程如下:
一、读取excel表数据
安装openpyxl库
pip install openpyxl
导入load_workbook
from openpyxl import load_workbook
构建根据.xlsx文件创建load_workbook对象
- 将表单设为只读模式(
data_only=True)
xlsx_path_f_interface ='./perth_basin/alldata.xlsx' wb = load_workbook(xlsx_path_f_interface,data_only=True)
获取sheet表单的名称,通过表单名称,获取表单对象
print(wb.sheetnames) # ['planar', 'f_interface', 'interface'] sheet_f_interface = wb['f_interface']
根据获取单元格对象以及单元格内容
- 通过行列号获取指定单元对象,然后通过
value属性获取单元格内容
二、matplotlib绘制三维散点图
安装matplotlib 库
pip install matplotlib
导入pyplot对象
import matplotlib.pyplot as plt
设置中文字符显示
- 当图表中有中文字符时,会出现中文字符无法显示的问题,需要进行如下代码设置:
- 我是参考这篇博客解决的,它还提供了其它解决方案,有需要的可以去博客仔细阅读
创建绘制区域
添加散点图数据
- 注意每个维度的数据类型为
numpy.array c表示数据点颜色label表示图例文字
设置散点图标题和坐标轴名称
设置图例位置,显示图片
bbox_to_anchor和loc用于控制图例的位置
plt.legend(plt.legend(bbox_to_anchor=(1.3, 1.1),loc='center right')) plt.show()
- 显示结果如下图: