前言
本文演示了使用Python进行温度数据的多样化可视化方法。通过导入、处理和分析气象数据,生成了多种图表,包括直方图、核密度估计图、箱型图、小提琴图、条形图、山脊图、经验累积分布函数图和折线图。这些图表帮助我们更直观地理解温度数据的分布和变化趋势,利用了Seaborn、Matplotlib和Plotly等数据可视化库,作为一个典型的例子,以美观和易于理解的方式展示数据。
代码
# Import necessary libraries
import pandas as pd
from pandas.api.types import CategoricalDtype
import seaborn as sns
import matplotlib.pyplot as plt
import plotly.express as px
from joypy import joyplot
# 导入数据
df = pd.read_csv('D:/Pythonmatlab/2326060760python数据分布/weatherData.csv')
# 设置季节为分类数据类型
season = CategoricalDtype(['Winter', 'Spring', 'Summer', 'Fall'])
df['Season'] = df['Season'].astype(season)
# 打印前5行数据
print(df.head(5))
#%%
# 直方图
# 设置图表大小
plt.figure(figsize=(10, 6))
# 生成直方图
sns.histplot(df, x='Temp')
# 显示图表
plt.show()
#%%
# 分地点的堆叠直方图
# 设置图表大小
plt.figure(figsize=(10, 6))
# 生成堆叠直方图
sns.histplot(df, x='Temp', hue='Location', multiple='stack')
# 设置标签
plt.title('Distribution of All Observed Temperatures', fontsize=25, y=1.03)
plt.xlabel('Temperature (F)', fontsize=13)
plt.ylabel('Count', fontsize=13)
# 显示图表
plt.show()
#%%
# 分季节的直方图
# 生成分季节的直方图
g = sns.displot(df, x='Temp', col='Season', hue='Location',
multiple='stack', binwidth=5, height=3, col_wrap=2,
facet_kws=dict(margin_titles=False))
# 设置轴标签
g.set_axis_labels('Temperature (F)', 'Count')
# 显示图表
plt.show()
#%%
# 分季节的垂直直方图
# 生成分季节的垂直直方图
g = sns.displot(df, x='Temp', col='Season', hue='Location',
multiple='stack', binwidth=5, height=1, aspect=6,
col_wrap=1, facet_kws=dict(margin_titles=True))
# 设置轴标签
g.set_axis_labels('Temperature (F)', 'Count', fontsize=17)
# 显示图表
plt.show()
#%%
# Plotly直方图
# 设置图表大小
plt.figure(figsize=(10, 6))
# 生成Plotly直方图
plot = px.histogram(df, x='Temp',
barmode='overlay', color='Location', facet_row='Season')
# 设置标题和标签
plot.update_layout(title={
'text': "Distributions of Temperature\
<br><sup>Sorted by Season and \
Location</sup>",
'xanchor'