Pandas 绘图在Jupyter上无法显示

Pandas 绘图在Jupyter上无法显示

在本文中,我们将介绍Pandas在Jupyter Notebook中绘图遇到的常见问题:绘图无法显示。Pandas是Python中经典的数据分析库,它提供了各种丰富的统计和绘图工具,是做数据分析的必备库之一。但有时候我们在使用Jupyter Notebook时会遇到一个比较棘手的问题:Pandas绘图无法在Jupyter中显示。这个问题会导致我们在分析数据的过程中无法直观地看到图像,给数据分析带来了不必要的麻烦。那该怎么解决呢?下面我们来一起探讨。

阅读更多:Pandas 教程

问题分析

在Jupyter Notebook中,Pandas的默认绘图引擎是matplotlib。在Pandas中调用plot()函数绘图时,Pandas会自动帮我们调用matplotlib,然后把图像显示在Jupyter Notebook中。但有时候我们会遇到Pandas绘图没有显示的情况。这种情况一般有以下几种可能:

  1. 没有导入matplotlib库
  2. 在Pandas中没有设置显示图像的属性
  3. 操作系统不支持matplotlib的图形渲染

下面我们来看看这几种情况分别是怎么解决的。

解决方案

解决方案1:导入matplotlib库

在使用Pandas绘图时,我们需要先导入matplotlib库,否则Pandas无法识别我们要使用的绘图引擎。因此,我们先来看看如何导入matplotlib库。

import matplotlib.pyplot as plt

这里我们导入了matplotlib库的pyplot模块,后续我们会使用该模块来进行绘图。需要注意的是,matplotlib的默认绘图引擎是pyplot,因此我们不需要再次调用 plt.plot() 来进行绘图。

解决方案2:设置显示图像的属性

在调用Pandas的plot()函数绘图时,我们需要设置一些属性,才能让图像能在Jupyter中正常显示。具体来说,我们需要设置一下两个属性:%matplotlib inlineplt.show()

%matplotlib inline
plt.show()

第一个属性 %matplotlib inline 是Jupyter特有属性,告诉Jupyter在notebook中嵌入绘图。第二个属性 plt.show() 是显示图像的属性。需要注意的是,只有在 %matplotlib inline 被调用之后, plt.show() 才能生效。

解决方案3:操作系统不支持matplotlib的图形渲染

如果你在Linux系统上使用matplotlib绘图并没有显示出来,大概率是因为没有安装相关的GUI框架,比如tkinter或QT。可以通过以下命令来安装:

sudo apt-get install python3-tk
sudo apt-get install python3-pyqt5

示例

下面我们来使用一个例子来说明如何在Jupyter Notebook中解决Pandas绘图无法显示的问题。

import pandas as pd
import matplotlib.pyplot as plt

%matplotlib inline

data = {'name': ['张三', '李四', '王五', '赵六', '小明'],
        'score': [90, 75, 65, 85, 92]}
df = pd.DataFrame(data)
df.plot(kind='bar', x='name', y='score', legend=False)
plt.xlabel('姓名')
plt.ylabel('成绩')
plt.title('学生成绩')
plt.show()

在上述代码中,我们使用Pandas绘制一组学生成绩的柱状图。由于我们设置了显示图像的属性,因此我们可以在Jupyter Notebook中轻松地看到生成出来的图像,如下图所示:

我们成功绘制出了学生成绩的柱状图,并在Jupyter中成功显示出来了。

总结

在Jupyter Notebook中无法显示Pandas绘图是一个比较常见的问题,其本质原因是Jupyter Notebook中需要设置一些绘图属性来使得图像得以正常显示。在本文中,我们介绍了常见的三种解决方案:导入matplotlib库、设置显示图像的属性和安装GUI框架。同时,我们给出了一个例子来说明如何在Jupyter中使用Pandas绘制柱状图。希望本文能够帮助大家在数据分析和可视化中更好地使用Pandas和Jupyter。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程