解决使用Spyder IDE时matplotlib绘图的显示问题

Spyder 环境下 matplotlib 的 backend 设置是在打开环境时就配置好了的

所以通常的方法:

import matplotlib
matplotlib.use('Qt5Agg')

是无效的。

Spyder 下解决这个问题最简单的方法是 GUI 的方法:

Tools -> Preferences -> IPython console -> Graphics -> Backend: Qt5

应用,然后可能需要重启一下,就可以了。如无特殊需要,以后无需更改。

补充:Python使用matplotlib或pandas绘制图像中文乱码问题解决方案

一般大家使用 Anaconda 进行数据处理后生成图片的时候,

如果不指定对应字体会导致中文乱码

可以通过下面的方案进行解决

#如遇中文显示问题可加入以下代码
# -*- coding: utf-8 -*-
import pandas as pd
import  matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

一般加入那两行设置基本都没有问题,

如果还出现乱码的话也可以用以下方法:

第一种:

将xlabel,ylabel里面的内容改成英文。

    plt.xlabel("Rating Score")
    plt.ylabel("People Number")
    plt.title("Rating Scores And related People Number")

第二种:

把默认字体改一下

# -*- coding: utf-8 -*-
import pandas as pd
import  matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] =  ['Microsoft YaHei']#用来正常显示中文标签的,此处改为微软雅黑
plt.rcParams["axes.unicode_minus"] = False  #用来正常显示负号

结果正常:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • python matplotlib绘图实现删除重复冗余图例的操作

    问题: 由于自己做项目的时候,需要循环的绘制数据,假设有100个样本,每个样本包含两个坐标点(A, B),我需要对这两个点标上不同的颜色,同时还要画出两点间的连线. 显然这个问题中图例我只需要3个(A点,B点,AB的连线),而不是300个,因为每个样本的A点都是同样的颜色,B点也都是一样的颜色,AB的连线也是. 但是单纯的在画完图之后用plt.legend(), 它会给你画出所有300个图例来,这肯定不是我想要的. 探索过程: 如何解决呢? 当然有一种很强制的方法,就是只在画第一个样本,或最后一

  • 用Python的绘图库(matplotlib)绘制小波能量谱

    时间小波能量谱 反映信号的小波能量沿时间轴的分布. 由于小波变换具有等距效应,所以有: 式中 表示信号强度,对于式①在平移因子b方向上进行加权积分 式中 代表时间-小能量谱 尺度小波能量谱 反映信号的小波能量随尺度的变化情况. 同理,对式①在尺度方向上进行加权积分: 式中 连续小波变换 连续小波变换的结果是一个小波系数矩阵,随着尺度因子和位移因子变化.然后将系数平方后得到小波能量,把每个尺度因子对应的所有小波能量进行叠加,那么就可以得到随尺度因子变换的小波能量谱曲线.把尺度换算成频率后,这条曲线

  • 详解matplotlib绘图样式(style)初探

    样式是定义图表可视化外观的配置,它由一组预置的rcParams参数构成.matplotlib预置了一系列样式风格,可直接使用. 样式使用方法 样式相关模块为style. 1. 显示本机可用样式 matplotlib.style.available返回本机可用样式的列表. 列表只读,样式更新后,需要使用reload_library()重新加载样式. In [1]: import matplotlib.style as style In [2]: style.available Out[2]: ['

  • python 绘图模块matplotlib的使用简介

    上周对线上某几个磁盘进行了fio硬盘性能测试,测试完成之后的结果需要绘制成图像展示出来.我在官网上查找了一下fio自带的命令fio_generate_plot和fio2gnuplot工具的用法,找到了图像的绘制方法,在某一个单一的场景下,确实可以使用这两个工具来进行硬盘性能图像绘制,但是问题是,如果要对比多个场景下绘制出来的图像的差异,fio自带的绘图工具实现起来就有些困难了,但是确实也能实现.例如下图: 如图所示为磁盘iodepth不变,numjobs在(1,8,16)三种不同的场景下绘制出来

  • python之 matplotlib和pandas绘图教程

    不得不说使用python库matplotlib绘图确实比较丑,但使用起来还算是比较方便,做自己的小小研究可以使用.这里记录一些统计作图方法,包括pandas作图和plt作图. 前提是先导入第三方库吧 import pandas as pd import matplotlib.pyplot as plt import numpy as np 然后以下这两句用于正常显示中文标签什么的. plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签

  • Pyside2中嵌入Matplotlib的绘图的实现

    近期遇到一个需求,就是用PySide2做出一个GUI,并且要将后台使用Matplotlib绘制的图显示在界面上.自己琢磨了蛮久,网上也搜了不少资料,但都感觉参差不齐,所以就自己总结一下. 我们使用QGraphicsView插件来显示Matplotlib里绘制的图片.这里演示的功能为:打开时界面默认绘制 cos函数的图像,点击按钮后,绘制sin函数的图像. 1. 界面设计 简单创建一个界面:一个 GraphicsView 和 一个 PushButton 2. 定义一个类,继承FigureCanva

  • 详解matplotlib中pyplot和面向对象两种绘图模式之间的关系

    matplotlib有两种绘图方式,一种是依托matplotlib.pyplot模块实现类似matlab绘图指令的绘图方式,一种是面向对象式绘图,依靠FigureCanvas(画布). Figure (图像). Axes (轴域) 等对象绘图. 这两种方式之间并不是完全独立的,而是通过某种机制进行了联结,pylot绘图模式其实隐式创建了面向对象模式的相关对象,其中的关键是matplotlib._pylab_helpers模块中的单例类Gcf,它的作用是追踪当前活动的画布及图像. 因此,可以说ma

  • 解决使用Spyder IDE时matplotlib绘图的显示问题

    Spyder 环境下 matplotlib 的 backend 设置是在打开环境时就配置好了的 所以通常的方法: import matplotlib matplotlib.use('Qt5Agg') 是无效的. Spyder 下解决这个问题最简单的方法是 GUI 的方法: Tools -> Preferences -> IPython console -> Graphics -> Backend: Qt5 应用,然后可能需要重启一下,就可以了.如无特殊需要,以后无需更改. 补充:P

  • Python使用matplotlib绘图无法显示中文问题的解决方法

    本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法.分享给大家供大家参考,具体如下: 在python中,默认情况下是无法显示中文的,如下代码: import matplotlib.pyplot as plt # 定义文本框和箭头格式 decisionNode = dict(boxstyle = "sawtooth", fc = "0.8") leafNode = dict(boxstyle = "round4", f

  • Python利用Matplotlib绘图无法显示中文字体的解决方案

    目录 发现问题 解决方式: 总结 发现问题 我在利用Pycharm中的matplotlib库进行绘图的时候,出现了一个问题,当我将所绘的图的横,纵坐标,希望加上一个中文描述的时候,比如,'横坐标','纵坐标'类似这样的描述方法.出现了很多人都会出现的一个问题. import matplotlib.pyplot as plt squares = [1, 4, 9, 16, 25] fig, ax = plt.subplots() ax.plot(squares, linewidth=3) #设置图

  • PyCharm中Matplotlib绘图不能显示UI效果的问题解决

    问题描述 我们利用了Matplotlib的类Cursor,向图形添加一组纵横交叉的直线,从而实现图形界面中任何位置的数值定位的可视化效果. 但使用PyCharm,绘图结果在右侧的部分: 这固然是需要绘制的图,但确实静态的,没有实现所谓的"定位可视化"-- 那么这个问题如何解决呢?来看-- 解决步骤 打开 File → Settings,选择最下面的Tools: 接下来,展开Tools,看到 Python Scientific: 点击Python Scientific,右边有一个被选中的

  • Python matplotlib绘图可视化知识点整理(小结)

    无论你工作在什么项目上,IPython都是值得推荐的.利用ipython --pylab,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能. 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 这样IPython配置为使用你所指定的matplotlib GUI后端(TK/wxPython/PyQt/Mac OS X native/GTK).对于大部分用户而言,默认的后端就已经够用了.Pylab模式

  • 完美解决Python matplotlib绘图时汉字显示不正常的问题

    Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过以下代码调用: #-*-coding:utf-8-*- #文件名: ch.py def set_ch(): from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 mpl.rcParams['axes

  • 解决Python Matplotlib绘图数据点位置错乱问题

    在绘制正负样本在各个特征维度上的CDF(累积分布)图时出现了以下问题: 问题具体表现为: 1.几个负样本的数据点位置倒错 2.X轴刻度变成了乱七八糟一团鬼东西 最终解决办法 造成上述情况的原因其实是由于输入matplotlib.plot()函数的数据x_data和y_data从CSV文件中直接导入后格式为string,因此才会导致所有数据点的x坐标都被直接刻在了x轴上,且由于坐标数据格式错误,部分点也就表现为"乱点".解决办法就是导入x,y数据后先将其转化为float型数据,然后输入p

  • Python matplotlib绘图时指定图像大小及放大图像详解

    matplotlib绘图时是默认的大小,有时候默认的大小会感觉图片里的内容都被压缩了,解决方法如下. 先是原始代码: from matplotlib import pyplot as plt plt.figure(figsize=(1,1)) x = [1,2,3] plt.plot(x, x) plt.show() 关键的代码是plt.figure(figsize=(1,1)),生成的图片如下 修改代码,放大图片: from matplotlib import pyplot as plt pl

  • PyCharm调用matplotlib绘图时图像弹出问题详解

    目录 问题描述 问题解决 补充注意plt.show() 总结 问题描述 在PyCharm中调用matplotlib绘制图像时,默认图像会在控制台输出(如图),当绘制图像较多时,控制台输出方式很不直观. 问题解决 希望在PyCharm中调用matplotlib绘制图像时,可以直接弹出Figure 窗口. 点击 菜单栏中的File→Settings→Python Scientific,右侧出现的复选框,若勾选则会在控制台输出(默认),不勾选则会直接弹出图像. 补充注意plt.show() 博主在开始

  • Python matplotlib绘图时使用鼠标滚轮放大/缩小图像

    目录 思路: 示例: 输出效果: 总结 思路: 使用fig.canvas.mpl_connect()函数来绑定相关fig的滚轮事件 利用事件event的inaxes属性获取当前鼠标所在坐标系ax 使用get_xlim()函数获取坐标系ax的x/y轴坐标刻度范围 使用set()函数对坐标系ax进行放大/缩小 示例: import matplotlib.pyplot as plt import numpy as np fig = plt.figure() def call_back(event):

随机推荐