如果我的 Y 值都相同,我很难让 matplotlib 绘制图表。
我正在绘制温度与时间的关系图,我发现如果我的温度都相同,我没有绘制线,只要将温度变化添加到图中,就会绘制线。
我已经能够通过将我的温度列表初始化为零 (0) 值来强制它始终画线,但这仅在温度在任何时候都不为零的情况下才有效。
有没有办法让它正确地绘制我的图表而不用假值启动?
领域:
temperature = []
time = []
minY = 0
maxY = 0
设置(传感器轮询):
temp = float(params['temp'][0])
time = datetime.now()
self.temperature.append(temp)
self.time.append(time)
阴谋:
plt.figure()
plt.xlabel("Time")
plt.ylabel("Temperature (Celcius)")
plt.title("Temperature in ...")
plt.ylim(self.minY,self.maxY)
plt.plot(self.time,self.temperature, "c")
plt.gcf().autofmt_xdate()
plt.savefig("temp.svg")
编辑:如果我在调用绘图时将绘图类型设置为“o”(圆圈),我可以看到同一行上的圆圈,如果我切换回默认线型,我什么也看不到。
Edit2:将输出格式切换为 png 会正确生成该行。为什么 SVG 不这样做?