当前位置:   article > 正文

新人入门数据可视化,关于对pandas数据对象中的plot()函数与matplotlib库下pyplot子模块中plt.plot()概念的混淆问题解决!!!(新人看完醍醐灌顶 )_pandas plot和matplotlib的区别

pandas plot和matplotlib的区别

 1.pandas中的plot()函数是一种数据可视化工具,可用于快速绘制各种数据图形,例如折线图、散点图、柱状图等等。

pandas库提供的plot()函数具有更高的封装度和便捷性,使用起来非常方便。在绝大多数情况下,直接对pandas数据对象(如DataFrameSeries对象)使用plot()函数即可绘制出符合需求的图形。

plot()函数支持多种绘图类型,例如:

讲人话就是在pandas数据对象后可以直接调用plot()函数来绘制图形,下面就是为大家整理的相对而言更常用的图形的使用:

  • plot():折线图
  • plot.bar():柱状图
  • plot.hist():直方图
  • plot.scatter():散点图
  • plot.box():箱线图
  • plot.kde():概率密度图
  • plot.area():面积图

! 还有一点就是新人可能会纠结的问题:

pandas对象的plot() 与plot.line() 绘制出来都是折线图吗? 正如下二段代码:

  1. # 使用plot.line()绘制线图
  2. data.plot.line()
  3. # 使用plot()方法绘制线图(与上面的方法结果相同)
  4. data.plot()

现在我告诉大家这二种表达方式基本没区别,绘制出来都是折线图,大家按照自己的习惯来编写就行。不用纠结死磕

 2. 使用matplotlib库中的pyplot子库,可以绘制许多类型的图形,

讲人话就是:相对于pandas下的plot(),使用matplotlib库中的pyplot子库,来进行可视化就是函数中提供的参数更多一些,更适合于较为复杂一点的可视化(可以调整图表的颜色、线型、标签、标题等各种属性,以风格化和美化图表).

其中包括:

  1. 折线图(line plot)
  2. 散点图(scatter plot)
  3. 条形图(bar plot)
  4. 直方图(histogram)
  5. 饼图(pie chart)
  6. 箱形图(box plot)
  7. 热力图(heatmap)
  8. 3D图(3D plot)等

     使用方法如:

  1. # 绘制折线图
  2. plt.plot(x, y)
  3. # 绘制散点图
  4. plt.scatter(x, y)
  5. # 绘制条形图
  6. plt.bar(x, y)
  7. # 绘制直方图
  8. plt.hist(x)
  9. # 绘制饼图
  10. plt.pie(x)
  11. # 绘制箱形图
  12. plt.boxplot(x)
  13. # 绘制热力图
  14. plt.imshow(x)
  15. # 绘制3D图
  16. from mpl_toolkits import mplot3d
  17. ax = plt.axes(projection='3d')
  18. ax.plot3D(x, y, z)

 3.在Notebook中魔法函数的作用以及使用:

  1. %matplotlib inline
  2. # 魔法函数

concept:

在Jupyter Notebook中,使用%matplotlib inline命令可以在Notebook中直接显示图形输出,并嵌入到Notebook中,而不是另外打开新的窗口或其他程序。

具体来说,在使用matplotlib绘图时,我们通常会使用plt.show()函数将图形显示出来。为了在Notebook中直接显示图形而不是弹出外部窗口,我们可以使用%matplotlib inline命令来配置。

使用魔法函数效率很高二行代码就可以出个图:

 

*在Jupyter Notebook中使用魔法函数绘制概率密度图KDE(Kernel Density Estimation)的代码如下:

  1. %matplotlib inline
  2. import pandas as pd
  3. # 读取数据,这里使用pandas库读取本地csv文件
  4. data = pd.read_csv('data.csv')
  5. # 绘制概率密度图KDE
  6. data.plot(kind='kde')

 简单的柱状图:

  1. %matplotlib inline
  2. import matplotlib.pyplot as plt
  3. # 创建数据
  4. x = ['A', 'B', 'C', 'D']
  5. y = [10, 5, 8, 12]
  6. # 绘制柱状图
  7. plt.bar(x, y)
  8. plt.title('Bar chart')
  9. plt.xlabel('Category')
  10. plt.ylabel('Count')
  11. plt.show()

4.在pandas数据对象中的plot()函数中有kind 参数来指定图像类型,style参数是指定用什么颜色和特殊符号来填充

1.例如:

  1. %matplotlib inline
  2. import pandas as pd
  3. # 读取iris数据集
  4. iris = pd.read_csv("https://archive.ics.uci.edu/ml/machineng-databases/iris/iris.data", header=None)
  5. # 设置列名
  6. iris.columns = ["sepal_length", "sepal_width", "petal_length", "petal_width", "class"]
  7. # 设置数据点的样式为黑色圆点(k.)
  8. iris.plot(x="sepal_length", y="sepal_width", color="b", style="k.")

这段代码案例中对于iris对象调用plot绘图函数且在函数的内部没有指定kind的图形样式,那plot()理论上应该就为折现图,但是,函数中有指定参数sytle ='k.' 意思为用黑的的点来填充,

那出来的图就是黑色的点填充的看起来是散点图的折线图。此图的本质依然是折线图(希望我有说清楚)

在补充一点:如果上段代码中在plot()中有指定kind 参数为 kind="scatter",那它就是散点图哦

ok,希望对大家又帮助

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/635823
推荐阅读
相关标签
  

闽ICP备14008679号