当前位置: 首页 > news >正文

Dify 获取天气数据并以echarts图表显示

Dify 获取天气数据并以echarts图表显示

  • 1. 创建一个 Chatflow
  • 2. 创建一个 HTTP 请求节点
  • 3. 创建一个代码执行节点
  • 4. 创建一个直接回复节点
  • 5. 发布并预览

在这里插入图片描述

1. 创建一个 Chatflow

在这里插入图片描述

2. 创建一个 HTTP 请求节点

请求地址:https://weather.cma.cn/api/climate?stationid=58367

在这里插入图片描述

3. 创建一个代码执行节点

代码如下,

import jsondef main(data):weather_data = json.loads(data)# 提取月份和对应的数据months = []max_temps = []min_temps = []rainfall = []for item in weather_data['data']['data']:months.append(f"{item['month']}月")max_temps.append(item['maxTemp'])min_temps.append(item['minTemp'])rainfall.append(item['rainfall'])# 生成echarts配置echarts_config = {"color": ['#eb6877', '#0f91c4', '#46cbd4'],"title": {"subtext": f"{weather_data['data']['beginYear']}年-{weather_data['data']['endYear']}年月平均气温和降水","left": 20},"tooltip": {"trigger": "axis","axisPointer": {"type": "cross"}},"legend": {"data": ["最高气温", "最低气温", "降水"],"right": 20},"xAxis": {"data": months,"axisLine": {"onZero": False}},"yAxis": [{"type": "value","name": "温度","position": "left","axisLabel": {"formatter": "{value} ℃"}},{"type": "value","name": "降水量","min": 0,"position": "right","axisLabel": {"formatter": "{value} mm"}}],"series": [{"name": "最高气温","type": "line","data": max_temps,"yAxisIndex": 0,"itemStyle": {"color": "#eae213"}},{"name": "最低气温","type": "line","smooth": True,"data": min_temps,"yAxisIndex": 0,"itemStyle": {"color": "#4bb2fa"}},{"name": "降水","type": "bar","smooth": True,"data": rainfall,"yAxisIndex": 1,"itemStyle": {"color": "#31e84f"}}]}# 生成输出文件output = "```echarts\n" + json.dumps(echarts_config, indent=2, ensure_ascii=False) + "\n```"return {"output":output}

在这里插入图片描述

4. 创建一个直接回复节点

在这里插入图片描述

5. 发布并预览

在这里插入图片描述
完结!

相关文章:

  • 深入解析词嵌入(Word2Vec、GloVe)技术原理:从词语到向量的转变
  • 三个概念:DataBinding,Dependency Property 与DataTemplate
  • MCP与开源社区的共赢之道:携手推动技术创新
  • iOS RunLoop 深入解析
  • ZStack Cloud 5.3.28正式发布
  • macOS 安装了Docker Desktop版终端docker 命令没办法使用
  • 如何选择合适的铸铁地板?在工业行业靠什么优势稳步前进?(北重)
  • PostgreSQL中的SSL(2)
  • 提高程序灵活性和效率的利器:Natasha动态编译库【.Net】
  • React-Native Android 多行被截断
  • layui轮播图根据设备宽度图片等比例,高度自适应
  • 一、Javaweb是什么?
  • 海外社交软件技术深潜:实时互动系统与边缘计算的极限优化
  • JavaScript的3D库有哪些?
  • 2025-03 机器人等级考试三级理论真题 3级
  • 论文阅读:2024 EMNLP User Inference Attacks on Large Language Models
  • 【大模型系列篇】Qwen3开源全新一代大语言模型来了,深入思考,更快行动
  • OpenCV 图像处理核心技术 (第二部分)
  • Spring Boot 实现多种来源的 Zip 多层目录打包下载(本地文件HTTP混合)
  • 深入理解CSS显示模式与盒子模型
  • 五一去哪儿|外国朋友来中国,“买买买”成为跨境旅游新趋势
  • 大型长读长RNA测序数据集发布,有助制定精准诊疗策略
  • 郭继孚被撤销全国政协委员资格,此前为北京交通发展研究院长
  • 烟花、美食和购物优惠都安排上了,上海多区开启热闹模式
  • 成都警方:在地铁公共区域用改装设备偷拍女乘客,男子被行拘
  • 格力电器去年净利增长一成:消费电器营收下滑4%,一季度净利增长26%