You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将已实现的温度数据折线图转换为对应直方图?

4传感器温度直方图对比实现方案

你当前的代码是绘制小时-温度折线图的逻辑,直方图核心是统计温度值的出现频次,不需要用到小时维度数据,直接提取每个数组的温度列(jun20BHX[:,2])作为输入即可,以下是两种常用的对比实现方案:

方案1:同坐标系分组对比(适合快速对比分布差异)

import matplotlib.pyplot as plt
import numpy as np

# 提取所有传感器的温度数据与对应标签
temp_data = [jun20BH1[:,2], jun20BH2[:,2], jun20BH3[:,2], jun20BH4[:,2]]
labels = ['Full Shade', 'Full Sun', 'Partial Sun #1', 'Partial Sun #2']

# 统一设置分箱(如果你已经完成分箱,直接替换为你的分箱边界数组即可)
bins = np.linspace(min(np.hstack(temp_data)), max(np.hstack(temp_data)), 15)

# 绘制分组直方图
plt.hist(temp_data, bins=bins, label=labels, alpha=0.7, edgecolor='black', linewidth=1)

# 样式设置和你原有习惯保持一致
plt.xlabel("Temperature (F)", fontsize = 24)
plt.ylabel("Frequency", fontsize = 24)
plt.xticks(fontsize = 20)
plt.yticks(fontsize = 20)
plt.legend(fontsize = 20)
plt.title("June 20 Boerum Hill Temperature Distribution", fontsize = 50)

plt.show()

参数说明:

  • 统一设置bins是为了保证4组数据的分箱规则完全一致,避免因分箱不同导致的对比偏差
  • alpha设置为0.7是为了避免柱子重叠时被完全遮挡,可根据显示效果调整
  • 如果不需要半透明叠加,想要完全并排的分组柱形,添加参数histtype='bar'即可

方案2:分面子图对比(适合单独看每个传感器的分布特征)

如果同坐标系显示太拥挤,可以用2行2列的子图分别绘制,保持所有子图的坐标轴范围一致方便对比:

import matplotlib.pyplot as plt
import numpy as np

temp_data = [jun20BH1[:,2], jun20BH2[:,2], jun20BH3[:,2], jun20BH4[:,2]]
labels = ['Full Shade', 'Full Sun', 'Partial Sun #1', 'Partial Sun #2']
bins = np.linspace(min(np.hstack(temp_data)), max(np.hstack(temp_data)), 15)

# 创建2行2列子图,共享x、y轴
fig, axs = plt.subplots(2, 2, figsize=(16, 12), sharex=True, sharey=True)
axs = axs.flatten()

for i in range(4):
    axs[i].hist(temp_data[i], bins=bins, color=f'C{i}', edgecolor='black', alpha=0.7)
    axs[i].set_title(labels[i], fontsize=20)
    axs[i].tick_params(axis='both', labelsize=16)

# 统一设置坐标轴标签
fig.supxlabel('Temperature (F)', fontsize=24)
fig.supylabel('Frequency', fontsize=24)
fig.suptitle("June 20 Boerum Hill Temperature Distribution", fontsize=40)

plt.tight_layout()
plt.show()

内容的提问来源于stack exchange,提问作者AlexF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 13:36:00