matplotlib文檔,Matplotlib作業3

 2023-10-06 阅读 16 评论 0

摘要:作業 1. 墨爾本1981年至1990年的每月溫度情況 請利用數據,畫出如下的圖: # 數據導入代碼 # 導入包 import matplotlib.pyplot as plt import numpy as np import pandas as pdplt.rcParams['font.sans-serif'] = ['SimHei'] #用來正常顯示中

作業

1. 墨爾本1981年至1990年的每月溫度情況

  • 請利用數據,畫出如下的圖:
# 數據導入代碼
# 導入包
import matplotlib.pyplot as plt
import numpy as np
import pandas as pdplt.rcParams['font.sans-serif'] = ['SimHei']  #用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus'] = False  #用來正常顯示負號ex1 = pd.read_csv('data/layout_ex1.csv')
ex1.head()
TimeTemperature
01981-0117.712903
11981-0217.678571
21981-0313.500000
31981-0412.356667
41981-059.490323
# 配置正則表達式
t_raw = '(\d{4})-0?(\d{1,2})'
t_raw_data = ex1.Time.str.extract(t_raw)
ex1
TimeTemperature
01981-0117.712903
11981-0217.678571
21981-0313.500000
31981-0412.356667
41981-059.490323
.........
1151990-087.825806
1161990-099.166667
1171990-1011.345161
1181990-1112.656667
1191990-1214.367742

120 rows × 2 columns

ex2 = ex1.copy()
ex2.insert(loc=0, column='Year', value=t_raw_data[0])
ex2.insert(loc=1, column='Month', value=t_raw_data[1])
ex2.tail()
YearMonthTimeTemperature
115199081990-087.825806
116199091990-099.166667
1171990101990-1011.345161
1181990111990-1112.656667
1191990121990-1214.367742
group = ex2.groupby(['Year'])
fig, axs = plt.subplots(2, 5, figsize=(20, 4), sharex=True, sharey=True)
fig.set_facecolor('#e6e6e6')
fig.suptitle('墨爾本1981年至1990年的每月溫度情況')
i = 0
for year, data in group:axs[i // 5][i % 5].plot(data.Month, data.Temperature,marker='*')axs[i // 5][i % 5].set_title(year+'年')#axs[i // 5][i % 5].set_xlim(1,12)if i % 5 == 0: axs[i // 5][i % 5].set_ylabel('氣溫')i += 1

在這里插入圖片描述

2. 畫出數據的散點圖和邊際分布

  • np.random.randn(2, 150) 生成一組二維數據,使用兩種非均勻子圖的分割方法,做出該數據對應的散點圖和邊際分布圖
data = np.random.randn(2, 150)
data.shape
(2, 150)
fig = plt.figure(figsize=(10,10))
fig.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=0.03, hspace=0.03)
fig.set_facecolor('#e6e6e6')
spec = fig.add_gridspec(nrows=2,ncols=2,width_ratios=[3,1],height_ratios=[1,3])# sub1
ax = fig.add_subplot(spec[1,0])
ax.grid()
ax.scatter(data[0,:],data[1,:])
ax.set_xlabel('my_data_x',fontsize=14)
ax.set_ylabel('my_data_y',fontsize=14)# sub2
ax = fig.add_subplot(spec[0,0])
ax.hist(data[0,:],rwidth=0.9)
ax.axis('off')# sub3
ax = fig.add_subplot(spec[1,1])
ax.hist(data[1,:],orientation='horizontal',rwidth=0.9)
ax.axis('off')

在這里插入圖片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/123126.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息