python用matplotlib作图,图表样式详细设置

python中matplotlib可视化作图

最近做实验,需要重复画图,用origin处理有些繁琐,索性用python自动化处理一下。好在测试数据是简单的格式,不需要特定软件打开,记事本即可。
在文件解析获取数据上,没费什么事,但因为对作图格式有一定要求,所以在图表样式上碰到了一些问题。
官网的文档过于零碎,不适合新手阅读。网上的教程或视频较少,涉及样式的内容就更少,看来看去没有现成的优质教程,都没有对样式进行细致讲解。费了些时间依靠网上零碎的东西集成了今天的这篇文章。
贴出的代码,对作图分析里的要求没有完全实现。不过最后的效果还能接受。

代码实现

'''
作图分析
1、图像X、Y轴比例
2、X、Y轴刻度分布
3、刻度线长度、宽度
4、刻度标签字体大小
5、X、Y轴标签字体大小
6、图例边框去除
7、背景颜色设置
'''

import os
import numpy as np
import matplotlib.pyplot as plt
#从pyplot导入MultipleLocator类,这个类用于设置刻度间隔
from matplotlib.ticker import (MultipleLocator, AutoMinorLocator)

#解决中文显示问题
plt.rcParams['font.sans-serif'] =['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

#获取需要处理文件的地址
def getlink():
    file_link_lists = []
    for file_link in os.listdir():
        if ".DTA" == os.path.splitext(file_link)[-1]:
            file_link_lists.append(file_link)
    return file_link_lists



#根据源文件数据处理,下一步进行绘制
def lsv_data_processing(file_link):
    result = [x_RHE[],y[]]
    keyword = r"V vs. Ref"
    with open(file_link,"r") as f:
        switch = 0
        for i, line in enumerate(f, 1): 
            if keyword in line:
                switch = 1
                continue
            if switch:
                x_RHE.append(eval(line.split("\t")[3])+0.059*14+0.244)
                y.append(eval(line.split("\t")[4])*1000)
        f.close()
    return result



#设置绘图样式
def draw_style(ax):
#设置坐标轴显示状态
    ax.spines['top'].set_visible(True)#开启上坐标轴
    ax.spines['bottom'].set_visible(True)#开启x轴坐标轴
    ax.spines['left'].set_visible(True)#开启y轴
    ax
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值