制作温湿度折线图

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体


# 读取温湿度数据文件
data = pd.read_csv('data.csv')

# 提取一个月的数据
start_date = '2023/6/1'
end_date = '2023/8/30'
month_data = data.loc[(data['date'] >= start_date) & (data['date'] <= end_date)]

# 提取温度数据和湿度数据
temperature_data = month_data['temperature'].values
humidity_data = month_data['humidity'].values

# 创建一个图形区域
fig, ax = plt.subplots()

# 在图形区域中绘制温度数据
ax.plot(month_data['date'].values, temperature_data, label='温度 (℃)')

# 在图形区域中绘制湿度数据
ax.plot(month_data['date'].values, humidity_data, label='湿度 (%)')

# 添加标题和标签
ax.set_title('一个月的温湿度趋势图')
ax.set_xlabel('日期')
ax.set_ylabel('数值')

# 添加图例
ax.legend()
# 在折线图上显示数值
for x, y in zip(month_data['date'], temper
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要用Qt绘制温湿度折线图,可以使用Qt自带的绘图类QPainter和QPainterPath,具体步骤如下: 1. 创建QWidget或QFrame控件作为绘制图形的容器,重写其paintEvent方法,在该方法中进行绘制操作。 2. 在paintEvent方法中创建QPainter对象,设置画笔和画刷的属性,如颜色、线宽等。 3. 创建QPainterPath对象,通过addRect、addLine等方法绘制折线图的线条和坐标轴。 4. 通过QPainter的drawPath方法将QPainterPath对象绘制出来。 下面是一个简单的示例代码,用于绘制温湿度折线图: ``` void MyWidget::paintEvent(QPaintEvent* event) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); // 抗锯齿 painter.setPen(QPen(Qt::black, 2)); // 设置画笔颜色和线宽 // 绘制坐标轴 painter.drawLine(50, 20, 50, 200); // y轴 painter.drawLine(50, 200, 300, 200); // x轴 // 绘制温度折线 QPainterPath tempPath; tempPath.moveTo(50, 200 - 5 * m_temperatures[0]); // 第一个点 for(int i = 1; i < m_temperatures.size(); ++i) { tempPath.lineTo(50 + i * 10, 200 - 5 * m_temperatures[i]); // 连线 } painter.setPen(QPen(Qt::red, 2)); // 设置画笔颜色和线宽 painter.drawPath(tempPath); // 绘制湿度折线 QPainterPath humidPath; humidPath.moveTo(50, 200 - 5 * m_humidities[0]); // 第一个点 for(int i = 1; i < m_humidities.size(); ++i) { humidPath.lineTo(50 + i * 10, 200 - 5 * m_humidities[i]); // 连线 } painter.setPen(QPen(Qt::blue, 2)); // 设置画笔颜色和线宽 painter.drawPath(humidPath); } ``` 其中,m_temperatures和m_humidities是存储温度湿度数据的容器,可以通过外部接口或者文件读取等方式获取数据。在绘制折线时,通过遍历数据容器,计算出每个点的坐标,然后使用QPainterPath的moveTo和lineTo方法将点连接成线。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾激光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值