python读取.txt文件中某些关键字后面的内容 并根据该数据画图

这篇具有很好参考价值的文章主要介绍了python读取.txt文件中某些关键字后面的内容 并根据该数据画图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

感谢一下悦姐帮忙

import re

#先把文件读进来,用read读入的是字符串,readlines是list
with open('resok.txt') as f:
    txt = f.read()


dataset = r'5low:.*|5mix:.*|5normal:.*'
para = r'MAE: (.{6})'#意思是MAE: 后面的六个东西
row_data = re.findall(dataset,txt)#正则化找到要读的内容,先找到基本的行(dataset),在找到行里的内容(para)
new_row_data = '\n'.join(row_data)#list转化为字符串
final_data = re.findall(para,new_row_data)

# print(dataset)
# print('\n')
# print(new_row_data)
# print('\n')
# print(final_data)
print(len(final_data))#检查一下个数看对不对

然后画图,其实两个代码可以放在一个里面

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from readdata import final_data

#要画的标签以及每个标签对应的值
labels = [ 'CONet', 'DANet','DCF', 'SP-Net', 'VST', 'CDINet','DFM-Net','TriTransNet','cmSalGAN','D3Net','BiANet','DLMNet','CCAFNet','C2DFNet','MobileSal','JL-DCF','SwinNet','A2S-v2','HRTransNet']
Overall = []
low = []
normal = [] 


#print(final_data)
#把之前读进来的数据分给上面的对应的值
for i in range(len(final_data)):
    final_data[i]=float(final_data[i])
    if i % 3 == 0:
        low.append(final_data[i])
    if i % 3 == 1:
        Overall.append(final_data[i])
    if i % 3 == 2:
        normal.append(final_data[i])


# print(Large)
# print('\n')
# print(Middle)
# print('\n')
# print(Overall)
# print('\n')
# print(Small)
# print('\n')


x = np.arange(len(labels))  # 标签位置
width = 0.2  # 柱状图的宽度,可以根据自己的需求和审美来改

fig, ax = plt.subplots()


rects1 = ax.bar(x - width, low, width, label='Low-light scenes',color=(33/255,158/255,188/255))
rects2 = ax.bar(x + 0.00, normal, width, label='Sunny scenes',color=(19/255,103/255,131/255))
rects3 = ax.bar(x + width, Overall, width, label='Overall',color=(2/255,48/255,74/255))



#为y轴、标题和x轴等添加一些文本。
# ax.set_ylabel(r'$F^{\omega}_{\beta}$', fontsize=12)
# ax.set_xlabel('Models', fontsize=12)
# ax.set_title('Result of 'r'$F^{\omega}_{\beta}$')
# ax.set_xticks(x)
# ax.set_xticklabels(labels,rotation=45)
# ax.set_ylim(0.4,1.1)
# ax.legend(loc='upper right')
ax.set_ylabel('MAE', fontsize=12)
ax.set_xlabel('Models', fontsize=12)
ax.set_title('Result of MAE')
ax.set_xticks(x)
ax.set_xticklabels(labels,rotation=45)
#可以自己控制
#轴的显示范围
#ax.set_ylim(0,0.24)
ax.legend(loc='upper right')

# def autolabel(rects):
#     """在*rects*中的每个柱状条上方附加一个文本标签,显示其高度"""
#     for rect in rects:
#         height = rect.get_height()
#         ax.annotate('{}'.format(height),
#                     xy=(rect.get_x() + rect.get_width() / 2, height),
#                     xytext=(0, 3),  # 3点垂直偏移
#                     textcoords="offset points",
#                     ha='center', va='bottom')

# autolabel(rects1)
# autolabel(rects2)
# autolabel(rects3)
# autolabel(rects4)

#fig.tight_layout()
#plt.xticks(labels, labels, rotation=30)
plt.show()

最后贴个图:

python读取.txt文件中某些关键字后面的内容 并根据该数据画图,linux,服务器,ubuntu,深度学习,python文章来源地址https://www.toymoban.com/news/detail-698418.html

到了这里,关于python读取.txt文件中某些关键字后面的内容 并根据该数据画图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python | assert关键字

    Python断言assert是帮助代码流畅的调试工具。断言主要是假设程序员知道或总是希望是真的,因此将它们放在代码中,这样这些失败不会允许代码进一步执行。 简单地说,断言是一个布尔表达式,用来检查语句是True还是False。如果语句为True,则不执行任何操作并继续执行,但

    2024年02月11日
    浏览(57)
  • 使用less命令搜索文件中的关键字

    less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。 语法 less [参数] 文件 参数说明: -b 缓冲区大小 设置缓冲区的大小 -e 当文件显示结束后,自动离开 -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 -g 只标志最后搜索的关键

    2024年02月12日
    浏览(59)
  • python之except关键字

    在python中,except是用于处理异常的,通常与\\\'try\\\'一起使用。异常处理的基本结构是通过try块包裹可能发生异常的代码,然后使用except块捕获和处理可能发生的异常。 如果在try块中发生异常,python会跳转到与异常类型匹配的except块,执行相应的异常处理代码。 示例:

    2024年01月16日
    浏览(51)
  • Python Selenium 关键字驱动

    目录 项目目录结构  action目录 config目录 exceptionpictures目录 log目录 testCases目录

    2024年02月05日
    浏览(50)
  • linux如何查询目录文件中是否包含某个关键字

    在 Linux 系统中,可以使用 grep 命令来查询目录文件中是否包含某个。 例如,如果你想查询当前目录下的所有文件中是否包含 \\\"keyword\\\",可以使用以下命令: 在这个命令中, . 表示当前目录, -r 表示递归地搜索目录下的所有文件。 如果有任何文件包含 \\\"k

    2024年02月11日
    浏览(52)
  • 初识Python(注释、编码规范、关键字...)

    🥇 作者简介:CSDN内容合伙人、新星计划第三季Python赛道Top1 🔥 本文已收录于Python系列专栏: 零基础学Python 💬订阅专栏后可私信博主进入Python学习交流群,进群可领取Python视频教程以及Python相关电子书合集 私信未回可以加V:hacker0327 备注零基础学Python 订阅专栏附赠此专栏

    2024年04月11日
    浏览(42)
  • Linux命令_grep & 快速查找关键字、文件名

    目录 1. 语法 1.1. 常用参数 2. 常见用法 2.1. 查找 2.2. 取反 2.3. 额外输出上下 2 行 2.4. 额外输出上面 1 行 2.5. 额外输出下面 1 行 2.6. 输出总行数 2.7. 输出行号 2.8. 忽略大小写 2.9. 正则匹配 3.组合使用 4. 文本三剑客其他命令                  

    2024年01月17日
    浏览(72)
  • 【python基础】循环语句-continue关键字

    continue的作用是:用来告诉 Python 跳过当前循环代码块中的剩余语句,然后继续进行下一轮循环。 其在while循环和for循环中的作用示意图如下 我们通过示意图发现,其只是中断本次循环,本次循环中在continue后面的代码语句将不被执行,直接转向条件测试,测试通过执行

    2024年02月08日
    浏览(37)
  • 【python基础】循环语句-break关键字

    break,其作用是在循环中的代码块遇到此,立刻跳出整个循环,执行循环外的下一条语句。 其在while和for循环中的作用示意图如下: 比如我们通过键盘输入单词,输出刚才的单词,编写程序如下所示: 我们发现当我们输入除了quit和break这两个单词之外,输出结果

    2024年02月08日
    浏览(35)
  • linux如何查询某个关键字所处在哪个文件夹的哪个文件下

    linux如何查询某个所处在哪个文件夹的哪个文件下 linux如何查询文件夹中的某个文件中的 你要知道是什么 在 Linux 中,可以使用 grep 命令来查询文件夹中的某个文件中的。 grep 命令的语法格式如下: 其中,OPTIONS 是可选的命令选项,PATTERN 是需要搜索

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包