python绘制钻头外径磨损图

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
srcpath=r'C:\Users\user\Documents\F1-21\data0.125-1.8.txt'

def openreadtxt(file_name):
    data = []
    with open(file_name, 'r') as file:
        file_data = file.readlines()  # 读取所有行
        for row in file_data:
            tmp_list = row.split()
            tmp = [float(x) for x in tmp_list]
            data.append(tmp)  # 将每行数据插入data中
    return data
if __name__ == "__main__":
    data=openreadtxt(srcpath)
    data_T1=data[0:9]
    data_T2=data[9:]
    xs=np.linspace(0.02,0.32,16)

    fig=plt.figure(figsize=(5,4))
    plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度线方向设置向内
    plt.rcParams['ytick.direction'] = 'in'  # 将y轴的刻度方向设置向内
    # plt.rcParams['font.family'] = ["Times New Roman"]  # 字体设置为Times NewRoman
    plt.rcParams['font.sans-serif'] = ['SimHei']
    clist = ['blue', 'red', 'green', 'black', 'darkgreen', 'lime', 'gold', 'purple', 'green', 'cyan', 'salmon', 'grey',
             'mediumvioletred', 'darkkhaki', 'gray', 'darkcyan', 'violet', 'powderblue']
    markerlst = ['o', '*', 'x', '>', '<', '^', 'D', 'd', '1', '2', '3', '4', 'o', '*', 'x', '>', '<', '^', 'D', 'd',
                 '1', '2', '3', '4', 'o', '*', 'x', '>', '<', '^', 'D', 'd', '1', '2', '3', '4']
    linestylelst = ['-', '--', '-.', ':', '-', '--', '-.', ':', '-', '--', '-.', ':', '-', '--', '-.', ':', '-', '--',
                    '-.', ':', '-', '--', '-.', ':']

    for i in range(len(data_T1)):
        plt.plot(xs[2:],data_T1[i][2:],c=clist[1], marker=markerlst[i], markersize='10', linewidth='3', linestyle=linestylelst[1],  label=f'T1-{i+1}')

    for i in range(len(data_T2)):
        if i==4 or i==3:
            continue
        plt.plot(xs[2:], data_T2[i][2:], c=clist[2], marker=markerlst[i], markersize='10', linewidth='3', linestyle=linestylelst[1], label=f'T2-{i+1}')



    font1 = {'family': 'SimHei', 'weight': 'normal', 'size': 16}
    # 图例展示位置,数字代表第几象限
    plt.legend(loc=4,prop=font1,ncol=4,framealpha=0.5)
    plt.xticks(xs[2:])
    plt.yticks(np.linspace(0.124,0.132,9))
    plt.grid(True, linestyle='--', alpha=0.5)
    plt.xlabel("到钻尖的距离(mm)", fontdict={'size': 16})
    plt.ylabel("钻头外径(mm)", fontdict={'size': 16})
    plt.title("SHC Φ0.125-1.8", fontdict={'size': 20})
    fig.autofmt_xdate()
    plt.show()

    figure1 = fig.get_figure()  # 获取图形
    figure1.savefig("C:\\Users\\user\\Documents\\1.jpg", dpi=300)
相关推荐
ℳ₯㎕ddzོꦿ࿐2 小时前
解决Python 在 Flask 开发模式下定时任务启动两次的问题
开发语言·python·flask
CodeClimb2 小时前
【华为OD-E卷 - 第k个排列 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
一水鉴天2 小时前
为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
开发语言·人工智能·python
Channing Lewis2 小时前
什么是 Flask 的蓝图(Blueprint)
后端·python·flask
B站计算机毕业设计超人2 小时前
计算机毕业设计hadoop+spark股票基金推荐系统 股票基金预测系统 股票基金可视化系统 股票基金数据分析 股票基金大数据 股票基金爬虫
大数据·hadoop·python·spark·课程设计·数据可视化·推荐算法
觅远2 小时前
python+playwright自动化测试(四):元素操作(键盘鼠标事件)、文件上传
python·自动化
ghostwritten3 小时前
Python FastAPI 实战应用指南
开发语言·python·fastapi
CM莫问4 小时前
python实战(十五)——中文手写体数字图像CNN分类
人工智能·python·深度学习·算法·cnn·图像分类·手写体识别
通信.萌新5 小时前
OpenCV边沿检测(Python版)
人工智能·python·opencv
Bran_Liu5 小时前
【LeetCode 刷题】字符串-字符串匹配(KMP)
python·算法·leetcode