当使用 Pandas 进行数据分析时,绘制图表是非常重要的一环。Pandas 提供了十种内置的画图方法,分别是:线图、面积图、柱状图、条形图、散点图、饼图、盒图、密度图、Hexbin 图和气泡图。
下面我们将对每种画图方法进行详细讲解,并且示范两个实例:
一、线图
直线图最常用于表示随时间变化的趋势。在 Pandas 中,可以使用 plot()
函数绘制线图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'时间': [1, 2, 3, 4, 5],
'销量': [10, 13, 16, 18, 20]})
data.plot(x='时间', y='销量', figsize=(8, 6), title='销量随时间变化图')
plt.show() # 显示图表
以上代码创建了一个 data 数据框,并将其画成一条简单的线图。x
和 y
参数指定了图表上的变量,figsize
参数指定图表的大小,title
参数指定了图表的标题。
二、面积图
面积图与线图基本类似,只是通过填充颜色来表示数据和趋势。在 Pandas 中,可以通过指定 kind='area'
来绘制面积图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'时间': [1, 2, 3, 4, 5],
'销量': [10, 13, 16, 18, 20]})
data.plot(x='时间', y='销量', kind='area', figsize=(8, 6), title='销量随时间变化图')
plt.show() # 显示图表
以上代码通过指定 kind='area'
将线图转换成了面积图。
三、柱状图
柱状图通常用于比较不同组之间的数据或不同类别之间的数据。在 Pandas 中,可以通过指定 kind='bar'
来绘制柱状图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'类别': ['A', 'B', 'C', 'D', 'E'],
'销量': [10, 13, 16, 18, 20]})
data.plot(x='类别', y='销量', kind='bar', figsize=(8, 6), title='销量比较图')
plt.show() # 显示图表
以上代码通过指定 kind='bar'
将数据转换成了柱状图,并按照 x
参数所指定的类别进行比较。
四、条形图
条形图与柱状图基本上相同,只是将柱子变成了横向的条状。在 Pandas 中,可以通过指定 kind='barh'
来绘制条形图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'类别': ['A', 'B', 'C', 'D', 'E'],
'销量': [10, 13, 16, 18, 20]})
data.plot(x='类别', y='销量', kind='barh', figsize=(8, 6), title='销量比较图')
plt.show() # 显示图表
以上代码通过指定 kind='barh'
将数据画成了条形图。
五、散点图
散点图可用于显示两个变量之间的关系和趋势。在 Pandas 中,可以通过指定 kind='scatter'
来绘制散点图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'x': [1, 2, 3, 4, 5],
'y': [10, 13, 16, 18, 20]})
data.plot(x='x', y='y', kind='scatter', figsize=(8, 6), title='X-Y 关系图')
plt.show() # 显示图表
以上代码通过指定 kind='scatter'
将数据画成了散点图。
六、饼图
饼图通常用于表示数据的占比关系。在 Pandas 中,可以通过指定 kind='pie'
来绘制饼图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'类别': ['A', 'B', 'C', 'D', 'E'],
'销量': [10, 13, 16, 18, 20]})
data.set_index('类别').plot(kind='pie', y='销量', figsize=(8, 6), title='占比图')
plt.show() # 显示图表
以上代码通过指定 kind='pie'
将数据画成了饼图。
七、盒图
盒图通常用于比较不同组之间的数据分布情况。在 Pandas 中,可以通过指定 kind='box'
来绘制盒图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'类别': ['A', 'B', 'C', 'D'],
'销量': [[1, 2, 3], [1, 2, 3, 4], [2, 3, 4, 5], [1, 3, 4]]})
data.set_index('类别')['销量'].apply(pd.Series).boxplot(figsize=(8, 6), title='不同组间数据分布情况')
plt.show() # 显示图表
以上代码通过 apply()
函数将数据分解成多列,并通过 boxplot()
函数将数据画成了盒图。
八、密度图
密度图通常用于显示连续随机变量的分布情况。在 Pandas 中,可以通过指定 kind='density'
来绘制密度图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'销量': [10, 13, 16, 18, 20]})
data.plot(kind='density', figsize=(8, 6), title='销量分布情况')
plt.show() # 显示图表
以上代码通过指定 kind='density'
将数据画成了密度图。
九、Hexbin 图
Hexbin 图通常用于显示大量两个连续变量之间的分布情况。在 Pandas 中,可以通过指定 kind='hexbin'
来绘制 Hexbin 图。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
data = pd.DataFrame({'x': np.random.randn(1000),
'y': np.random.randn(1000)})
data.plot(kind='hexbin', x='x', y='y', gridsize=25, cmap='coolwarm', title='散点图分布情况')
plt.show() # 显示图表
以上代码通过指定 kind='hexbin'
将数据画成了 Hexbin 图,并使用 gridsize
参数控制了网格大小,使用 cmap
参数指定了颜色方案。
十、气泡图
气泡图通常用于显示三个连续变量之间的关系。在 Pandas 中,可以通过指定 s
参数来控制气泡的大小。下面是一个简单的使用示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'x': [1, 2, 3, 4, 5],
'y': [10, 13, 16, 18, 20],
'z': [50, 100, 200, 250, 300]})
data.plot(kind='scatter', x='x', y='y', s=data['z']*2, figsize=(8, 6), title='气泡图')
plt.show() # 显示图表
以上代码通过使用 scatter
函数将数据画成了气泡图,并使用 s
参数控制了气泡的大小。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas 内置的十种画图方法 - Python技术站