1.pandas中的plot()函数是一种数据可视化工具,可用于快速绘制各种数据图形,例如折线图、散点图、柱状图等等。
pandas库提供的plot()
函数具有更高的封装度和便捷性,使用起来非常方便。在绝大多数情况下,直接对pandas
数据对象(如DataFrame
、Series
对象)使用plot()
函数即可绘制出符合需求的图形。
plot()
函数支持多种绘图类型,例如:
讲人话就是在pandas数据对象后可以直接调用plot()函数来绘制图形,下面就是为大家整理的相对而言更常用的图形的使用:
plot()
:折线图plot.bar()
:柱状图plot.hist()
:直方图plot.scatter()
:散点图plot.box()
:箱线图plot.kde()
:概率密度图plot.area()
:面积图
! 还有一点就是新人可能会纠结的问题:
pandas对象的plot() 与plot.line() 绘制出来都是折线图吗? 正如下二段代码:
# 使用plot.line()绘制线图
data.plot.line()
# 使用plot()方法绘制线图(与上面的方法结果相同)
data.plot()
现在我告诉大家这二种表达方式基本没区别,绘制出来都是折线图,大家按照自己的习惯来编写就行。不用纠结死磕
2. 使用matplotlib库中的pyplot子库,可以绘制许多类型的图形,
讲人话就是:相对于pandas下的plot(),使用matplotlib库中的pyplot子库,来进行可视化就是函数中提供的参数更多一些,更适合于较为复杂一点的可视化(可以调整图表的颜色、线型、标签、标题等各种属性,以风格化和美化图表).
其中包括:
- 折线图(line plot)
- 散点图(scatter plot)
- 条形图(bar plot)
- 直方图(histogram)
- 饼图(pie chart)
- 箱形图(box plot)
- 热力图(heatmap)
- 3D图(3D plot)等
使用方法如:
# 绘制折线图
plt.plot(x, y)
# 绘制散点图
plt.scatter(x, y)
# 绘制条形图
plt.bar(x, y)
# 绘制直方图
plt.hist(x)
# 绘制饼图
plt.pie(x)
# 绘制箱形图
plt.boxplot(x)
# 绘制热力图
plt.imshow(x)
# 绘制3D图
from mpl_toolkits import mplot3d
ax = plt.axes(projection='3d')
ax.plot3D(x, y, z)
3.在Notebook中魔法函数的作用以及使用:
%matplotlib inline
# 魔法函数
concept:
在Jupyter Notebook中,使用%matplotlib inline
命令可以在Notebook中直接显示图形输出,并嵌入到Notebook中,而不是另外打开新的窗口或其他程序。
具体来说,在使用matplotlib绘图时,我们通常会使用plt.show()函数将图形显示出来。为了在Notebook中直接显示图形而不是弹出外部窗口,我们可以使用%matplotlib inline
命令来配置。
使用魔法函数效率很高二行代码就可以出个图:
*在Jupyter Notebook中使用魔法函数绘制概率密度图KDE(Kernel Density Estimation)的代码如下:
%matplotlib inline
import pandas as pd
# 读取数据,这里使用pandas库读取本地csv文件
data = pd.read_csv('data.csv')
# 绘制概率密度图KDE
data.plot(kind='kde')
简单的柱状图:
%matplotlib inline
import matplotlib.pyplot as plt
# 创建数据
x = ['A', 'B', 'C', 'D']
y = [10, 5, 8, 12]
# 绘制柱状图
plt.bar(x, y)
plt.title('Bar chart')
plt.xlabel('Category')
plt.ylabel('Count')
plt.show()
4.在pandas数据对象中的plot()函数中有kind 参数来指定图像类型,style参数是指定用什么颜色和特殊符号来填充
1.例如:
%matplotlib inline
import pandas as pd
# 读取iris数据集
iris = pd.read_csv("https://archive.ics.uci.edu/ml/machineng-databases/iris/iris.data", header=None)
# 设置列名
iris.columns = ["sepal_length", "sepal_width", "petal_length", "petal_width", "class"]
# 设置数据点的样式为黑色圆点(k.)
iris.plot(x="sepal_length", y="sepal_width", color="b", style="k.")
这段代码案例中对于iris对象调用plot绘图函数且在函数的内部没有指定kind的图形样式,那plot()理论上应该就为折现图,但是,函数中有指定参数sytle ='k.' 意思为用黑的的点来填充,
那出来的图就是黑色的点填充的看起来是散点图的折线图。此图的本质依然是折线图(希望我有说清楚)
在补充一点:如果上段代码中在plot()中有指定kind 参数为 kind="scatter",那它就是散点图哦
ok,希望对大家又帮助