一、简介
Python的pandas库提供了一个灵活、方便的绘图工具——dataframe.plot,它是基于matplotlib库的二次封装,可以快速绘制数据表中各列之间的关系图表。dataframe.plot支持许多种不同的绘图类型,包括线形图、柱状图、散点图等,同时也支持一些基本的可视化图表调整,例如图例的添加、数据标签、轴标签等等。
二、基本图表类型
dataframe.plot支持的基本图表类型非常多,包括折线图、柱状图、散点图、面积图、饼图、盒图等等。下面以折线图、柱状图和散点图三种类型为例,来详细介绍如何使用dataframe.plot。
1. 折线图
折线图是一种用于展示随时间、类别等变化而变化的数据趋势的图表类型。dataframe.plot的line方法可以用于生成折线图。下面的例子展示了如何使用line方法绘制一条简单的折线图:
import pandas as pd
import matplotlib.pyplot as plt
data = {'x': [1, 2, 3, 4, 5],
'y': [2, 3, 5, 4, 6]}
df = pd.DataFrame(data)
df.plot.line(x='x', y='y')
plt.show()
运行上述代码后,将会绘制一条简单的折线图,横坐标为x,纵坐标为y。
2. 柱状图
柱状图是一种用于展示分类数据分布的图表类型。dataframe.plot的bar方法可以用于生成柱状图。下面的例子展示了如何使用bar方法绘制一张简单的柱状图:
import pandas as pd
import matplotlib.pyplot as plt
data = {'x': ['A', 'B', 'C', 'D', 'E'],
'y': [2, 3, 5, 4, 6]}
df = pd.DataFrame(data)
df.plot.bar(x='x', y='y')
plt.show()
运行上述代码后,将会绘制一张简单的柱状图,横坐标为x,纵坐标为y。
3. 散点图
散点图是一种用于展示二维数据分布形态的图表类型。dataframe.plot的scatter方法可以用于生成散点图。下面的例子展示了如何使用scatter方法绘制一张简单的散点图:
import pandas as pd
import matplotlib.pyplot as plt
data = {'x': [1, 2, 3, 4, 5],
'y': [2, 3, 5, 4, 6]}
df = pd.DataFrame(data)
df.plot.scatter(x='x', y='y')
plt.show()
运行上述代码后,将会绘制一张简单的散点图,横坐标为x,纵坐标为y。
三、数据可视化的调整
dataframe.plot除了支持基本的图表类型外,还提供了一系列的可视化调整选项,以便帮助用户更好地展示数据。下面从图例、数据标签和坐标轴缩放三个方面介绍dataframe.plot的一些常用的数据可视化调整选项。
1. 图例
图例是用于解释图表中各种信息的重要组成部分。dataframe.plot的legend参数可以用于控制图例的显示。下面的例子展示了如何添加图例:
import pandas as pd
import matplotlib.pyplot as plt
data = {'x': [1, 2, 3, 4, 5],
'y1': [2, 3, 5, 4, 6],
'y2': [3, 4, 6, 5, 7]}
df = pd.DataFrame(data)
df.plot.line(x='x', y=['y1', 'y2'], legend=True)
plt.show()
运行上述代码后,将会绘制一张包含两条折线的折线图,并且会在图表中添加图例,图例包含y1和y2两个信息。
2. 数据标签
数据标签是用于标注图表中各点数据值的信息。dataframe.plot的text方法可以用于添加数据标签。下面的例子展示了如何添加数据标签:
import pandas as pd
import matplotlib.pyplot as plt
data = {'x': [1, 2, 3, 4, 5],
'y': [2, 3, 5, 4, 6]}
df = pd.DataFrame(data)
ax = df.plot.line(x='x', y='y')
for i, j in zip(df['x'], df['y']):
ax.text(i, j, j)
plt.show()
运行上述代码后,将会绘制一张包含数据标签的折线图。
3. 坐标轴缩放
坐标轴缩放是用于控制图表中各坐标轴显示范围的重要调整工具。dataframe.plot的xlim和ylim参数可以用于设置横坐标和纵坐标的显示范围。下面的例子展示了如何控制坐标轴缩放:
import pandas as pd
import matplotlib.pyplot as plt
data = {'x': [1, 2, 3, 4, 5],
'y': [2, 3, 5, 4, 6]}
df = pd.DataFrame(data)
df.plot.line(x='x', y='y', xlim=(2, 5), ylim=(3, 6))
plt.show()
运行上述代码后,将会绘制一张横坐标范围为2到5,纵坐标范围为3到6的折线图。