阴冷天,偶有所得

发现许多人活在这个世界上的意义就是为了装逼。。。真无聊

做好产品的根本指导思想就是:与客户(用户)有谈恋爱的感觉。只有这种感觉才能带来感情,而感情是维持长久关系的前提。

小米把它的垃圾手机升级一下装备并提价,这是自抬身价的行为。令人厌恶。 
### 数据获取 可以通过一些气象数据网站或者API来获取某城市过去一年每日天气数据的 CSV 文件。例如,一些气象数据平台提供了数据下载服务,也可以使用如中国天气网、世界气象组织的相关 API 来获取数据,然后将其整理保存为 CSV 文件。 ### 基础功能实现 #### 数据读取与清理 使用 Python 的 pandas 库来读取和清理数据: ```python import pandas as pd # 读取数据 data = pd.read_csv('weather.csv', encoding='utf-8') # 清理数据,去除缺失值 data = data.dropna() ``` #### 计算月平均最高温和最低温并绘制折线图 ```python import matplotlib.pyplot as plt # 将日期列转换为 datetime 类型 data['日期'] = pd.to_datetime(data['日期']) # 按月份分组计算平均最高温和最低温 monthly_avg_max_temp = data.groupby(data['日期'].dt.month)['最高气温℃'].mean() monthly_avg_min_temp = data.groupby(data['日期'].dt.month)['最低气温℃'].mean() # 绘制折线图 plt.plot(monthly_avg_max_temp.index, monthly_avg_max_temp, label='月平均最高温') plt.plot(monthly_avg_min_temp.index, monthly_avg_min_temp, label='月平均最低温') plt.xlabel('月份') plt.ylabel('温度(℃)') plt.title('月平均最高温和最低温折线图') plt.legend() plt.show() ``` #### 绘制降水量月度总和柱状图 ```python # 按月份分组计算降水量总和 monthly_precipitation_sum = data.groupby(data['日期'].dt.month)['降水量'].sum() # 绘制柱状图 plt.bar(monthly_precipitation_sum.index, monthly_precipitation_sum) plt.xlabel('月份') plt.ylabel('降水量总和') plt.title('降水量月度总和柱状图') plt.show() ``` #### 统计晴天雨天天天数并绘制饼图 ```python # 统计晴天、雨天、天的天数 sunny_days = data[data['天气状况'] == '晴天'].shape[0] rainy_days = data[data['天气状况'] == '雨天'].shape[0] cloudy_days = data[data['天气状况'] == '天'].shape[0] # 绘制饼图 labels = ['晴天', '雨天', '天'] sizes = [sunny_days, rainy_days, cloudy_days] plt.pie(sizes, labels=labels, autopct='%1.1f%%') plt.title('天气状况天数统计饼图') plt.show() ``` ### 拓展功能实现 #### 找出最热和最冷的一天并在图中特殊标记 ```python # 找出最热和最冷的一天 hottest_day = data[data['最高气温℃'] == data['最高气温℃'].max()].iloc[0] coldest_day = data[data['最低气温℃'] == data['最低气温℃'].min()].iloc[0] # 在月平均温度折线图中标记 plt.plot(monthly_avg_max_temp.index, monthly_avg_max_temp, label='月平均最高温') plt.plot(monthly_avg_min_temp.index, monthly_avg_min_temp, label='月平均最低温') plt.scatter(hottest_day['日期'].month, hottest_day['最高气温℃'], color='red', marker='*', s=200, label='最热一天') plt.scatter(coldest_day['日期'].month, coldest_day['最低气温℃'], color='blue', marker='*', s=200, label='最冷一天') plt.xlabel('月份') plt.ylabel('温度(℃)') plt.title('月平均最高温和最低温折线图(标记最热最冷天)') plt.legend() plt.show() ``` #### 分析温度与降水量的关系绘制散点图 ```python # 绘制温度与降水量的散点图 plt.scatter(data['最高气温℃'], data['降水量'], label='最高气温与降水量') plt.scatter(data['最低气温℃'], data['降水量'], label='最低气温与降水量') plt.xlabel('温度(℃)') plt.ylabel('降水量') plt.title('温度与降水量关系散点图') plt.legend() plt.show() ``` #### 用 appdesigner 设计简单 GUI 通过下拉菜单选择不同月份展示数据 此部分需要使用 MATLAB 的 App Designer 来实现,以下是大致思路: 1. 打开 MATLAB 的 App Designer。 2. 在设计界面添加下拉菜单(`UIAxes`),并设置选项为 1 - 12 月。 3. 编写回调函数,当用户选择不同月份时,从数据中筛选出该月的数据并绘制相应的图表(如该月的平均温度、降水量等)。 ### 相关问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值