本文共 2232 字,大约阅读时间需要 7 分钟。
数据可视化是数据分析中不可或缺的一部分,它能够通过直观的图表帮助我们快速发现数据中的规律和变量之间的关系。对于数据科学家来说,学习如何高效地进行数据可视化是掌握核心技能的重要环节。
在数据可视化领域,常用的库包括 matplotlib、seaborn 和 pyecharts。其中,matplotlib 是一个底层库,API丰富但学习门槛较高;seaborn 则基于 matplotlib 提供了更高层次的功能,能够满足大多数可视化需求,但对于特殊需求仍需学习 matplotlib。pyecharts 则具有良好的 Web 统一性,能够实现动态效果的可视化。
在数据处理方面,pandas 是数据科学家不可或缺的工具。它支持数据的采集、读取、清洗和预处理。通过 pandas,我们可以轻松地进行数据清洗操作,例如使用 apply 和 map 来处理数据。与此同时,pandas 与 matplotlib 的结合也为数据可视化提供了强大的功能。
为了实现可视化效果,我们需要安装以下库:
pip3 install numpypip3 install pandaspip3 install matplotlib
接下来,我们可以使用伦敦天气数据进行演示。首先导入必要的库并读取数据:
import matplotlib.pyplot as pltimport numpy as npimport pandas as pd# 读取数据df = pd.read_csv('data/london2018.csv') 使用 df.plot 创建折线图时,可以选择以下方式:
df.plot(x='Month', y='Tmax') # 默认使用线型df.plot(x='Month', y='Tmax', kind='line') # 强制使用线型df.plot.line(x='Month', y='Tmax') # 使用 line kinase
生成的折线图可以添加格线:
df.plot(x='Month', y='Tmax', kind='line', grid=True)
如果需要同时展示多个数据系列,可以使用以下方式:
df.plot(x='Month', y=['Tmax', 'Tmin'])
同样,条形图可以通过以下方式绘制:
df.plot(x='Month', y='Rain', kind='bar')
要绘制水平条形图,可以使用 kind='barh':
df.plot(x='Month', y='Rain', kind='barh')
散点图可以通过以下方式绘制:
df.plot(kind='scatter', x='Month', y='Sun')
饼图则可以通过以下方式绘制:
df.plot(kind='pie', y='Sun')
如果需要隐藏图例,可以通过 legend=False 参数实现:
df.plot(kind='pie', y='Sun', legend=False)
如果使用更大的数据集(如62年的天气数据),可以通过以下方式读取数据:
df2 = pd.read_csv('data/londonweather.csv') 查看数据特征:
df2.Rain.describe()
绘制箱型图:
df2.plot.box(y='Rain')
绘制直方图:
df2.plot.hist(y='Rain')
通过设置 bins 参数可以自定义刻度:
df2.plot.hist(y='Rain', bins=[0,25,50,75,100,125,150,175,200])
为了展示多个变量,可以使用子图布局:
df.plot(kind='line', y=['Tmax', 'Tmin', 'Rain', 'Sun'], subplots=True, layout=(2, 2), figsize=(20, 10))
同样,可以绘制条形图的子图:
df.plot(kind='bar', y=['Tmax', 'Tmin', 'Rain', 'Sun'], subplots=True, layout=(2, 2), figsize=(20, 10))
给图表添加标题可以通过 title 参数实现:
df.plot(kind='bar', y=['Tmax', 'Tmin'], subplots=True, layout=(1, 2), figsize=(20, 5), title='伦敦天气')
将图表保存为图片文件:
df.plot(kind='pie', y='Rain', legend=False, figsize=(10, 5), title='伦敦天气饼图')plt.savefig('img/pie.png') df.plot 函数接受多个参数,例如:
通过 help(pd.DataFrame.plot) 可查看详细参数说明。
转载地址:http://bvvfk.baihongyu.com/