试图绘制温度

时间:2017-01-16 18:57:16

标签: python matplotlib raspberry-pi

我试图绘制我的Raspberry Pi的温度并在网页上显示该情节。这工作得相当好。然而,我试图根据感知的风险为不同区域的颜色着色(我不确定它们是否真的对我的Pi造成了风险,但我觉得在90°C时运行它会感觉不舒服。) / p>

我正在使用此代码创建情节:

fig = plt.figure()

# color regions
plt.fill([0, 0, len(temps)-1, len(temps)-1], [80, 100, 100, 80], 'r', alpha=0.2, linestyle=None)
plt.fill([0, 0, len(temps)-1, len(temps)-1], [60, 80, 80, 60], 'y', alpha=0.2, linestyle=None)
plt.fill([0, 0, len(temps)-1, len(temps)-1], [0, 60, 60, 0], 'g', alpha=0.2, linestyle=None)

# modify axis
plt.axis([0, len(temps)-1, 0, 100])
plt.xticks([])

# plot and safe
plt.plot(temps, color='k')
plt.savefig(buf, format='png')
plt.close(fig)

这会创建以下图表: Example plot

我不喜欢这些地区的“硬边缘”,但我似乎无法找到让它们“流入”彼此的方法。有谁知道如何解决这个问题或者能指出我正确的方向?

1 个答案:

答案 0 :(得分:3)

按照herehere中的示例(请向他们展示一些爱情),听起来你想要了解以下内容......

import numpy as np
from matplotlib import pyplot as plt
import matplotlib.colors as clr

# Construct a colormap
cmap = clr.LinearSegmentedColormap.from_list('cmap for Dennis Hein', 
    [(0, '#ff0000'), (70/100., '#ffff00'), (100/100., '#00ff00')], N=64)

# Generate figure and axes
fig, ax = plt.subplots()

# Limits
xmin, xmax = 0, 100
ymin, ymax = 0, 100

# Fake data
X = [[.0, .0], [1.0, 1.0]]

ax.imshow(X, interpolation='bicubic', cmap = cmap, 
    extent=(xmin, xmax, ymin, ymax), alpha = 0.2)

ax.plot(np.random.normal(loc = 50, scale = 2, size = 101), c = 'k')

plt.show()

enter image description here