Matplotlib图表不能在Pycharm中显示的问题_pycharm可以显示matplotlib画的图吗-程序员宅基地

技术标签: python  Python  

初学者可能都会遇到一个小问题就是:在用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。

谢谢大家能看到这里。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xinluqishi123/article/details/63523531

智能推荐

Winform 判断Combobox控件先择值是否为空_imagecomboboxedit 如何判断未空-程序员宅基地

文章浏览阅读6.1k次。前面用.Item试了下,结果是取到绑定在Combobox的数据,不管有没有选择,都会满足不为空的要求,后来就用Text试了下,满足我所需要的要求。(Combobox内我没有设置默认显示某值)if (Combobox.Text.Trim().Length != 0){ MessageBox.Show("Combobox不为空!");}else{ MessageBox.Show("Comb_imagecomboboxedit 如何判断未空

每天掉多少根头发才会秃?你猜!-程序员宅基地

文章浏览阅读975次。最近……遇到了人生中最大的难题我开始疯狂掉头发了一开始觉得只是掉几根头发没什么大事后来发现自己发际线居然后移了!我年纪轻轻的难道要秃了???为什么?难道真如萌萌说的是老天..._一天掉几十根头发会不会掉光

研学-元胞自动机模拟疫情传播_元胞自动机模型解决什么问题-程序员宅基地

文章浏览阅读7.6k次,点赞30次,收藏132次。蒙特卡罗方法模拟疫情传播论文提要2020年伊始,新冠肺炎席卷全球。长时间潜伏期、极高的传染率,使得全人类面对这次疫情显得有些措手不及。为了更好地认识、防控传染病,本文采用蒙特卡罗方法中的一种——元胞自动机,借鉴著名数学家约翰·康威所发明的生命游戏规则,自创规则进行疫情模拟。最终发现严格的防控、警惕的意识与强大的医疗水平均是抗击疫情必不可少的内容。政府越早采取防控措施防控效果越好;并且医疗水平的支持更是防控的关键。主题词蒙特卡罗方法;元胞自动机;疫情传播正文1 研究背景1.1 传染病介绍在人_元胞自动机模型解决什么问题

gpio子系统和pinctrl子系统(中)_pinctrl_add_gpio_range-程序员宅基地

文章浏览阅读797次。转载地址:http://www.cnblogs.com/rongpmcu/p/7662755.htmlpinctrl子系统核心实现分析pinctrl子系统的内容在drivers/pinctrl文件夹下,主要文件有(建议先看看pinctrl内核文档Documentation/pinctrl.txt):core.cdevicetree.cpinconf.cpinmux.cpinctrl-xxx.cco..._pinctrl_add_gpio_range

如何解决Golang获取google.golang.org/protobuf包报错的问题-程序员宅基地

文章浏览阅读3.1k次。今天在重新运行之前的老项目时,..._google.golang.org/protobuf

我的Android进阶之旅------>Android实现数据存储技术_android getcache(uri key)-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏4次。本文介绍Android中的5种数据存储方式。数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据2 文件存储数据3 SQLite数据库存储数据4 使用ContentProvider存储数据5 网络存储数据下面将为大家一一详细介绍。第一种: 使用SharedPr_android getcache(uri key)

随便推点

给学校计算机室申请计算机报告,小学计算机室工作总结 [小学计算机教师工作总结报告]...-程序员宅基地

文章浏览阅读273次。在计算机教学中,教师是教学的研究者、设计者、开发者,是学生学习实践的指导者、组织者、评价者,是学生课题小组、学习小组学习的组织者和协作者,是学生学习环境的管理者。今天小编给大家整理了小学计算机教师工作总结,希望对大家有所帮助。小学计算机教师工作总结范文一一、开展好常规教学。1、开学初,便结合我校的计算机硬件实际,制定出切实可行的教学计划,并严格按教学计划进行上课。在教学过程中,对具体的教学内容都进...

7-19 计算火车运行时间 (15分)_根据火车的出发时间和达到时间,编写程序c++-程序员宅基地

文章浏览阅读465次。本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式:输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式:在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。输入样例:1201 1530输出样例:03:29【源代码】#include <iostream>#include_根据火车的出发时间和达到时间,编写程序c++

【C语言】单链表逆转-程序员宅基地

文章浏览阅读48次。单链表逆转

三分钟使用vue-json-excel插件,将table表格数据导出为Excel文件实践_vue2 vue-json-excel 分sheet-程序员宅基地

文章浏览阅读1.5k次。提示:我这是使用了element-ui样式框架,默认是您已经安装了element-ui安装vue-json-excel插件npm install vue-json-excel --save引入vue-json-excel组件<template> <div> <download-excel :fields = "json_field..._vue2 vue-json-excel 分sheet

git使用之template模板,gitconfig配置文件的设置及使用-程序员宅基地

文章浏览阅读4.9k次。一、引言多人协作开发一个项目时,版本控制工具是少不了的,git是linux 内核开发时引入的一个优秀代码管理工具,利用它能很好使团队协作完成一个项目。为了规范团队的代码提交,也方便出版本时的release note,更为了出问题时方便代码回溯,所以大家统一用一个模板提交代码是必要的。二、template模板Git中设置template非常简单,只需以下几步即可:1、在根目录建立模板文件如...

2021级-JAVA07 常用类(字符串)_7-3 sdut-string-1 识蛟龙号载人深潜,立科技报国志(1)-程序员宅基地

文章浏览阅读1.7k次,点赞7次,收藏14次。其中data[]是传入的参数。data[]中的每一个元素都是一个完整的人员信息字符串,该字符串由“姓名,性别,年龄,民族”,各项之间用英文半角的逗号分隔。函数须返回 值是汉族的人数。_7-3 sdut-string-1 识蛟龙号载人深潜,立科技报国志(1)