Python3.5 在Ubuntu16.04上无法画图的解决方案
1. 问题由来
在使用下面的测试代码学习python时,用Pycharm画不出来图像,SPYDER3 可以画出来。 
下面的代码来自:http://old.sebug.net/
# -*- coding: utf-8 -*-
import numpy as np
from scipy.optimize import leastsq
import pylab as pl
def func(x, p):
    """
    数据拟合所用的函数: A*sin(2*pi*k*x + theta)
    """
    A, k, theta = p
    return A*np.sin(2*np.pi*k*x+theta)
def residuals(p, y, x):
    """
    实验数据x, y和拟合函数之间的差,p为拟合需要找到的系数
    """
    return y - func(x, p)
x = np.linspace(0, -2*np.pi, 100)
A, k, theta = 10, 0.34, np.pi/6 # 真实数据的函数参数
y0 = func(x, [A, k, theta]) # 真实数据
y1 = y0 + 2 * np.random.randn(len(x)) # 加入噪声之后的实验数据
p0 = [7, 0.2, 0] # 第一次猜测的函数拟合参数
# 调用leastsq进行数据拟合
# residuals为计算误差的函数
# p0为拟合参数的初始值
# args为需要拟合的实验数据
plsq = leastsq(residuals, p0, args=(y1, x))
print (u"真实参数:", [A, k, theta])
print (u"拟合参数", plsq[0]) # 实验数据拟合后的参数
pl.plot(x, y0, label=u"真实数据")
pl.plot(x, y1, label=u"带噪声的实验数据")
pl.plot(x, func(x, plsq[0]), label=u"拟合数据")
pl.legend()
pl.show()发现问题
在python控制台输入
import matplotlib
matplotlib.get_backend()
u’agg’
我们可以看到输出的时agg,AGG使不能画图的。
so,解决方案如下
sudo apt-get install tk-dev 
sudo pip uninstall -y matplotlib 
sudo pip –no-cache-dir install -U matplotlib #这是最关键的
图一发
稍后要解决这个中文乱码的问题了。
Python3.5 在Ubuntu16.04上无法画图的解决方案的更多相关文章
- 【MindSpore】Ubuntu16.04上成功安装GPU版MindSpore1.0.1
		本文是在宿主机Ubuntu16.04上拉取cuda10.1-cudnn7-ubuntu18.04的镜像,在容器中通过Miniconda3创建python3.7.5的环境并成功安装mindspore_g ... 
- Ubuntu16.04上用源代码安装ICE
		ubuntu16.04上用源代码安装ICE 
- Ubuntu16.04上安装neo4j数据库
		什么是neo4j数据库? neo4j数据库是图数据库的一种,属于nosql的一种,常见的nosql数据库还有redis.memcached.mongDB等,不同于传统的关系型数据库,nosql数据也有 ... 
- 在ubuntu16.04上安装eclipse
		在ubuntu16.04上安装eclipse 一.下载 首先我们需要安装jdk1.8及其以上,然后从官网:https://www.eclipse.org/downloads/上下载,需要注意 ... 
- 在ubuntu16.04上编译android源码【转】
		本文转载自:http://blog.csdn.net/fuchaosz/article/details/51487585 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6. ... 
- ubuntu16.04上在使用搜狗输入法时,按shift不能正常切换中英文
		问题描述: ubuntu16.04上在使用搜狗输入法时,不知道把什么组合键给错按了,导致了按shift不能正常切换中英文,这是一件很烦恼的事儿! 解决步骤: 1,终端输入打开: fcitx-confi ... 
- primecoin在ubuntu16.04上部署服务:
		primecoin在ubuntu16.04上部署服务: 一.下载Tomcat,Jdk,primecoin(公司内部文件) 注意Tomcat版本需要高于Jdk的,不然会报错. 二.把它们都解压到你要的安 ... 
- Ubuntu16.04上安装cudnn教程和opencv
		https://blog.csdn.net/wang15061955806/article/details/80791112 Ubuntu16.04上安装cudnn教程 2018年06月24日 14: ... 
- 在Ubuntu16.04上部署LXC容器管理系统的相关步骤
		打算安装一个LXC linux容器管理的软件来分配使用资源并配置不同的编程环境,这样就方便大家的使用,步骤如下(宿主机的环境都搭建好了,对应显卡的驱动等): 参考网站: 简单入门和相关指令总结:htt ... 
随机推荐
- SSH程序框架的整合(1)
			spring整合hibernate 有两种方式 1.注解方式 2.xml方式实现 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory ... 
- Git版本切换
			前面的话 本文将以一个简单实例的形式来介绍Git版本切换 初始版本 首先,在一个自定义的位置,创建目录a,比如在D盘下 [注意]本文会用到一些常用的Linux的Shell命令,详细信息移步至此 先使用 ... 
- 1135: 零起点学算法42——多组测试数据(求和)IV
			1135: 零起点学算法42--多组测试数据(求和)IV Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted ... 
- [编织消息框架][JAVA核心技术]动态代理应用9-扫描class
			之前介绍的annotationProcessor能在编译时生成自定义class,但有个缺点,只能每次添加/删除java文件才会执行,那天换了个人不清楚就坑大了 还记得之前介绍的编译时处理,懒处理,还有 ... 
- NestedScrollView嵌套RecycleView 滑动  实现上滑隐藏  下滑显示头部效果
			废了好大的劲才弄好的,记下来 方便以后查看 public class MainActivity extends AppCompatActivity { private RecyclerView mRe ... 
- Json对象和Json字符串之间的转换
			json字符串转json对象,调用parse方法: var b='{"name":"2323","sex":"afasdf&quo ... 
- Android Weekly Notes Issue #254
			Android Weekly Issue #254 April 23rd, 2017 Android Weekly Issue #254 本期内容包括: 如何用Kotlin写一个Gradle Plug ... 
- bzoj4800 [Ceoi2015]Ice Hockey World Championship
			Description 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. Input 第一行两个数n,m代表物品数量及钱数 第二行n个数,代表每个物品的价格 n<=40,m<=1 ... 
- python自动化开发-[第一天]-基础数据类型与编码
			1.Python与其他语言对比 - C语言的解释方式 代码-->机器码-->计算机 - python,java,php等高级语言的解释方式 代码-->字节码-->机器码-- ... 
- hadoop集群搭建--CentOS部署Hadoop服务
			在了解了Hadoop的相关知识后,接下来就是Hadoop环境的搭建,搭建Hadoop环境是正式学习大数据的开始,接下来就开始搭建环境!我们用到环境为:VMware 12+CentOS6.4 hadoo ... 
