matplotlib画图问题:Y轴数据不按大小排列

这是一个遇到过几次的问题,每次查完资料不做记录,结果就是每次都要浪费时间再查一次。这次做好备好。

目标:读一个文档里的数据,画个图
先上代码:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import os

my_font = matplotlib.font_manager.FontProperties(fname = '/usr/share/fonts/opentype/noto/simsun.ttc')
model_path = '/home/will/test/score.txt'

data = []
for line in open(model_path,"r"):
    det = '%.2f'%np.float(line[:-1].split(' ')[6])
    data.append(det)
da = np.array(data)
x = np.arange(0, 50, 1)
plt.plot(x, da)

plt.ylabel('分数',fontproperties=my_font, fontsize = 10) # 横坐标轴的标题
plt.xlabel('帧数',fontproperties=my_font, fontsize = 18) # 纵坐标轴的标题
#plt.grid() # 显示网格

plt.show()

结果,Y轴的数据明显有问题,乱来,都不按大小排列了。
乱问题就出在,我从文档中读取了数据之后,保存的时候没把它保存在浮点数float的形式,错误的保存成了字符串str形式,这个问题老是不注意,以后要长记性,稍微改一下代码即可:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import os

my_font = matplotlib.font_manager.FontProperties(fname = '/usr/share/fonts/opentype/noto/simsun.ttc')
model_path = '/home/will/test/score.txt'

data = []
for line in open(model_path,"r"):
    det = '%.2f'%np.float(line[:-1].split(' ')[6])
    det = float(det)
    data.append(det)
da = np.array(data)
x = np.arange(0, 50, 1)
plt.plot(x, da)

plt.ylabel('分数',fontproperties=my_font, fontsize = 10) # 横坐标轴的标题
plt.xlabel('帧数',fontproperties=my_font, fontsize = 18) # 纵坐标轴的标题
#plt.grid() # 显示网格

plt.show()

然后就OK了
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值