多样化数据可视化方法的全面示例:基于Python的多样化数据可视化

文章目录


前言

本文演示了使用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'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值