matplotlib.pyplot画图,设置x轴y轴范围,没有作用

matplotlib.pyplot画图,设置x轴y轴范围,没有作用

现在有一组数据,需要绘图,同时需要固定住y轴范围最大值。但是通过方法设置后依然无效。经过尝试发现因为数据是字符类型的原因,导致设置的y轴范围失效。

无效的具体展示

io = open("D:/Desktop/采集数据/数据A/2022-05-29/2022-05-29_08.28/震动数据 2022-05-29-08-28-49.json", "r")
readlines = io.readlines()
data = readlines[1]
split = data.strip("[]").split(",")
import matplotlib.pyplot as plt
figure = plt.figure(figsize=(9, 9))
plt.subplot(1, 1, 1)
plt.ylim(ymax=10, ymin=0)
plt.plot(split)
plt.show()

matplotlib.pyplot画图,设置x轴y轴范围,没有作用_第1张图片

由上诉代码段,可以看出以及通过plt.ylim()方法设置好了y轴范围,但是并没有起到作用。

查询原因

  • 查看split的内容以及类型:
print(split[:10])
# ['0.5514042', '0.541391969', '0.5968254', '0.539438367', '0.4849817', '0.537240565', '0.5650794', '0.5814408', '0.5619048', '0.4998779']
print(type(split[0]))
# 
> 可以看到这个列表里面的内容是字符类型

解决问题

  • 变换类型
io = open("D:/Desktop/采集数据/数据A/2022-05-29/2022-05-29_08.28/震动数据 2022-05-29-08-28-49.json", "r")
readlines = io.readlines()
data = readlines[1]
split = data.strip("[]").strip("]\n").split(",")
import matplotlib.pyplot as plt
figure = plt.figure(figsize=(9, 9))
plt.subplot(1, 2, 1)
plt.ylim(ymax=10, ymin=0)
plt.plot(split[:10])
# ---------类型转后绘图------------#
split = [float(x) for x in split]
plt.subplot(1, 2, 2)
plt.ylim(ymax=10, ymin=0)
plt.plot(split[:10])
plt.show()

matplotlib.pyplot画图,设置x轴y轴范围,没有作用_第2张图片

你可能感兴趣的:(python)