根据excel表格重点数据创建一系列散点图

import matplotlib.pyplot as plt # 导入matplotlib库,用于绘制图形
import pandas as pd # 导入pandas库,用于读取和处理数据
from tqdm import tqdm # 导入tqdm库,用于创建进度条
import numpy as np
from scipy.spatial import ConvexHull

# 定义一个函数,用于绘制散点图,并保存为图片
def plot_data(group, data):
    x, y = data['x'].values, data['y'].values # 从数据中提取x和y列
    plt.figure(dpi=500, figsize=(10, 6)) # 创建一个新的图形,设置分辨率和大小
    plt.scatter(x, y) # 绘制散点图
    hull = ConvexHull(np.column_stack((x,y)))
    hull_points = np.append(hull.vertices, hull.vertices[0])
    print (hull_points)
    print (x)
    hx, hy = x[hull_points], y[hull_points]
    plt.fill(hx, hy, alpha=0.3)
    # 计算x的最大值减去最小值的结果
    x_diff = data['x'].max() - data['x'].min()
    y_diff = data['y'].max() - data['y'].min()
    # 在散点图上添加一个文本注释,显示x_diff的值
    plt.annotate('x_diff = %.2f,y_diff = %.2f' % (x_diff,y_diff), xy=(0.5, 0.9), xycoords='axes fraction')
    plt.savefig('D:/test/%s.jpg'%group) # 保存图片到指定路径,以分组名命名
    #plt.show() # 显示图片

# 读取xlsx文件中的数据,假设文件名是data.xlsx
df = pd.read_excel('data.xlsx')


# # 按照类别分组,并对每组数据调用plot_data函数
# # 使用groupby方法返回一个分组对象
groups = df.groupby('category')

# # 使用tqdm包装groups来创建进度条
for group, data in tqdm(groups):
    plot_data(group, data)


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值