python:本地excel绘制图形

        导入相关模块,先读取本地excel,再根据需求绘制图形

import xlrd
import matplotlib.pyplot as plt
# # 若中文无法正常显示,可使用 Matplotlib 的字体管理器加载中文字体
# import matplotlib.font_manager as fm
# my_font=fm.FontProperties(fname="C:\Windows\Fonts\simkai.ttf")

excel1 = xlrd.open_workbook(r'E:\Wave_Data_wushi\2023\3\0323\230323_08.xlsx')  #xlrd 1.2.0可打开xlsx, 2.0.1只能打开xls
sheet1 = excel1.sheet_by_index(0)                    #打开excel文档第一页
data1 = sheet1.col_values(1,0,100)                   #提取第一页第二列0-100行数据,0和100不填表示提取整列
data2 = sheet1.col_values(2,0,100)
x = sheet1.col_values(0,0,100)

#数据图形绘制,红色为关键字参数,可选填
plt.grid(True,linestyle = '--',alpha = 0.5)           #True,栅格可见,alpha表示栅格透明度,取(0-1),0全透明,1不透明
# plt.plot(x,data1,x,data2)                           #两组数据一起绘制
figure1 = plt.plot(x,data1,c = 'm',linestyle = '--',linewidth = '2',marker = '*',markersize = 5)  #颜色关键字color也可用首字母c,颜色实参也可用英语全称或首字母,如'red'和‘r’
figure2 = plt.plot(x,data2,color = 'c',linestyle = '-',linewidth = '2',marker = 'o',markersize = 5)  #返回值为一个列表
plt.title("回波信号",fontproperties ='simhei',fontsize = 20)        #黑体
plt.xlabel("采样点",fontproperties ='STSong',fontsize = 16)         #宋体
plt.ylabel("回波幅度(mV)",fontproperties ='STKAITI',fontsize = 16)  #楷体       隶体STLITI
plt.yticks([2400,2425,2450,2475,2500,2550,2600],[2400,'',2450,'',2500,2550,2600])  #yticks函数来调整y轴刻度值,第一个列表参数为实际数据值,第二个参数为想要y轴对就显示的字符(一样可不填),不调用函数则自动适应
plt.xticks([138500,138520,138540,138560,138580,138600],['8点1分','8点2分','8点3分','8点4分','8点5分','8点6分'],rotation=315,font='simhei',fontsize=14)

#调用legend函数显示图例,figure1为一个列表,第一个元素表示折线,如果在plot函数中事先写入了label参数,legend函数中的handles、labels参数可不填(推荐此法)
#plt.legend(handles = [figure1[0],figure2[0]],labels = ["数据1","数据2"],loc = "upper right",prop = 'STLITI',fontsize = '20')     #prop中包含了字体大小,设置了prop后fontsize不能生效
font1 = {'family':'STLITI','weight':'normal','size': 14}                                                         #通过定义prop实参来同时修改字体及大小
plt.legend(handles = [figure1[0],figure2[0]],labels = ["数据1","数据2"],loc = "upper right",prop = font1)         #loc:'best'自动选择最佳位置;'lower left':左下
plt.savefig(r'C:\Users\Administrator\Desktop\1.tif',dpi = 600,format = 'tif')   #保存图片
plt.show()

        如果要对  X  轴、Y  轴进行更细致的控制,则可调用  gca()  函数来获取坐标轴信息对象,然后对坐标轴进行控制。比如控制坐标轴上刻度值的位置和坐标轴的位置、颜色、坐标刻度间隔等。

#调用gca()函数来获取坐标轴信息对象
ax = plt.gca()
# 设置将 X 轴的刻度值放在底部 X 轴上
ax.xaxis.set_ticks_position('bottom')
# 设置将 Y 轴的刻度值放在底部 X 轴上
ax.yaxis.set_ticks_position('left')
# 设置右边坐标轴线的颜色(设置为 none 表示不显示)
ax.spines['right'].set_color('none')
# 设置顶部坐标轴线的颜色(设置为 none 表示不显示)
ax.spines['top'].set_color('none')
# 定义底部坐标轴线的位置(放在 70000 数值处)
ax.spines['bottom'].set_position(('data', 2500))
# 设置x、y坐标刻度间隔
x_major_locator = plt.MultipleLocator(100)  #x轴坐标间隔设定为100
y_major_locator = plt.MultipleLocator(10)
ax.xaxis.set_major_locator(x_major_locator)
ax.yaxis.set_major_locator(y_major_locator)

### 使用 Python 读取 Excel 数据并生成 3D 图表 要实现Excel 表格中读取数据并通过 `matplotlib` 绘制三维图表,可以按照以下方法操作: #### 方法概述 通过 `pandas` 库加载 Excel 文件中的数据,并利用 `matplotlib` 的子模块 `mpl_toolkits.mplot3d` 创建三维图形。以下是具体实现过程。 --- #### 实现代码示例 ```python import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 步骤一:使用 pandas 加载 Excel 数据 df = pd.read_excel("./test01.xlsx", sheet_name="car") # 打印 DataFrame 验证数据是否成功加载 print("DataFrame Data:") print(df) # 假设我们需要绘制三个维度的数据分别为 'X', 'Y', 'Z' # 这里假设 df 中有三列分别对应 X, Y 和 Z 轴坐标 x_data = df['X'].values y_data = df['Y'].values z_data = df['Z'].values # 步骤二:创建三维图形对象 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 步骤三:绘制三维散点图 ax.scatter(x_data, y_data, z_data, c=z_data, cmap='viridis') # 设置颜色映射 # 添加轴标签和其他属性 ax.set_xlabel('X Label') ax.set_ylabel('Y Label') ax.set_zlabel('Z Label') plt.title('3D Scatter Plot from Excel Data') # 显示图形 plt.show() # 如果需要保存图片到本地 plt.savefig('./output_3d_plot.png') ``` 上述代码展示了如何从 Excel 文件中提取数据并将其转换为三维散点图的形式[^1]。如果需要其他类型的三维图表(如曲面图),可以根据需求调整绘图函数。 --- #### 关键技术点解析 1. **Pandas 数据处理** - Pandas 是一种强大的数据分析库,能够轻松完成 Excel 数据的导入和预处理工作。 - 函数 `pd.read_excel()` 支持多种参数配置,例如指定特定的工作簿名称或范围[^2]。 2. **Matplotlib 三维绘图支持** - Matplotlib 提供了专门用于三维绘图的扩展包 `mpl_toolkits.mplot3d`。 - 可以通过设置不同的投影方式来切换二维与三维模式。 3. **自定义样式** - 用户可以通过修改颜色方案 (`cmap`) 或标记大小来自定义视觉效果[^3]。 --- #### 注意事项 - 确保安装必要的依赖项,包括 `pandas`, `matplotlib` 和 `openpyxl`。 - 输入的 Excel 文件应包含适合构建三维空间结构的相关数值型数据列。 - 若目标数据集较大,则需优化内存管理策略以免影响性能。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值