解决Matplotlib图表不能在Pycharm中显示的问题
作者:xinluqishi_fangye 发布时间:2023-05-26 17:10:03
初学者可能都会遇到一个小问题就是:在用IPython的时候,可以使用类似
%matplotlib inline
的Magic Function(魔法函数)来显示Matplotlib图表,但是用Pycharm编写项目的时候是不能写magic函数的,会出现编译错误:
但是不加这行,运行后,Matplotlib图表就不会正常显示。程序运行后也不会报错,只会在控制台输出:
Process finished with exit code 0
后了事。
因此,我们的关注点似乎要移动到Magic Function身上了,什么是Magic函数呢?
官方给出的定义是:IPython有一组预先定义好的所谓的魔法函数(Magic Functions),你可以通过命令行的语法形式来访问它们。可见“%matplotlib inline”就是模仿命令行来访问magic函数的在IPython中独有的形式。
magic函数分两种:一种是面向行的,另一种是面向单元型的。
行magic函数是用前缀“%”标注的,很像我们在系统中使用命令行时的形式,例如在Mac中就是你的用户名后面跟着“$”。“%”后面就是magic函数的参数了,但是它的参数是没有被写在括号或者引号中来传值的。
单元型magic函数是由两个“%%”做前缀的,它的参数不仅是当前“%%”行后面的内容,也包括了在当前行以下的行。比如:计算代码执行时间的timeit函数,我们可以这样写
In [2]: %%timeit x = range(10000)
...: min(x)
1000 loops, best of 3: 223 us per loop
既然是IPython的内置magic函数,那么在Pycharm中是不会支持的。但是我们可以在matplotlib中的pyplot身上下功夫,pyplot不会不提供展示图像的功能。
所以代码可以这样写:
import numpy as np
from matplotlib import pyplot as plt
from skimage import data
random_image = np.random.random([500, 500])
print(random_image)
plt.imshow(random_image, cmap='gray')
plt.colorbar()
plt.show()
最后加入了plt.show(),这样就可以将我们生成的图像显示出来了。
另外,IPython的内置magic函数包括三种:
1. 伴随你的代码使用的函数:%run, %edit, %save, %macro, %recall等;
2. 可以影响到脚本本身的函数:%colors, %xmode, %autoindent, %automagic等;
3. 其他的函数: %reset, %timeit, %%writefile, %load, %paste。
谢谢大家能看到这里。
来源:https://blog.csdn.net/xinluqishi123/article/details/63523531
猜你喜欢
- 前一段时间碰到这样的的问题,Ajax从后台得到的中文信息怎么都是空。后来到网上搜资料,大多是以下这样。用AJAX来GET回一个页面时,RES
- 本文实例讲述了python中requests模块的使用方法。分享给大家供大家参考。具体分析如下:在HTTP相关处理中使用python是不必要
- 如何制作一个文本文件编辑器?我们也来做一个:newdoc.asp<%@ Language=VBScript %&g
- 背景背景是这样的, 我的家里台式机常年 休眠, 并配置了 Wake On Lan (WOL) 方便远程唤醒并使用.但是我发现, 偶尔台式机会
- BCP语句的作用:BCP是SQL提供的进行数据传输的实用程序,这种语句提供了非常快的数据导入的方法。(当然7。0也有BCP的替代方法就是DT
- 前言很多人会使用postman工具,或者熟悉python,但不一定会使用python来编写测试用例脚本,postman里面可以完整的将pyt
- 前言Logistic回归涉及到高等数学,线性代数,概率论,优化问题。本文尽量以最简单易懂的叙述方式,以少讲公式原理,多讲形象化案例为原则,给
- ASP实现即时显示当前页面浏览人数online.asp文件 <!--#include file="dbconn.a
- 1、生成配置文件''' 生成配置文件'''import configparse
- 前言matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。在使用Python matplotlib库绘
- SQL Server有两种备份方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志
- 京东购物车抢购商品1.Python的下载和安装这里由于我们代码是基于Python来执行的所以我们这里需要2个东西:一个是Python本身,另
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 9 - Input Filterin
- 本人曾经用过的备份方式有:mysqldump、mysqlhotcopy、BACKUP TABLE 、SELECT INTO OUTFILE,
- Insus.NET解决这个问题,只有创建另外一个表,将存储用户决定要跟踪的表,以及这个表中需要跟踪的字段。 还要创建另外一个表[Audit]
- 常用的四种SQL命令:1.查询数据记录(Select)语法:Select 字段串行 From table Where 字段=内容例
- 在网上有很多相关主题的讨论,但是一般都是用Iframe和XMLHTTP来实现。Iframe的实现可能是最常看到的。很多论坛和聊天室的无刷新效
- 阅读:Mootools常用方法扩展(三) 继续Mootools常用方法扩展,这次是Window类上的扩展,也就是全局函数。方法:$param
- 如何清除Vbscript惹出来的中文乱码? <script language=vbscript runat=s
- 有时在浏览网页时,常常因为网页中的图片文件过大而使下载时间较长,这样还没有下载完,就会有许多浏览者不耐烦地拂袖而去,从而损失了客户流。但要使