linux下,matplotlib遇到的相关问题以及解决方法

1.在linux下运行matplotlib程序时,matplotlib的安装。

根据不同的linux系统继续相关安装:

Debian / Ubuntu : sudo apt-get install python-matplotlib

Fedora / Redhat : sudo yum install python-matplotlib

2.运行matplotlib程序时报如下错误:

解决方案,在文件头加入如下代码

import matplotlib

matplotlib.use(‘Agg‘)

3.生成的图片,不能显示中文,在图片中显示方格

解决方法:

1.在Ubutu中确认系统中已有的中文字体库: 
$ fc-list :lang=zh 
2.终端显示:

$ fc-list :lang=zh 

/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf: Droid Sans Fallback:style=Regular

可以看到只有一种字体,Droid Sans Fallback

2. 在脚本中添加代码

import matplotlib as mpl

mpl.rcParams[‘font.sans-serif‘] = [‘Droid Sans Fallback‘]

3. matplotlibrc文件的配置

Linux下进入Python命令提示符状态下:

import matplotlib

matplotlib.matplotlib_fname()

然后就会打印出matplotlibrc文件所在的位置,默认位置(/etc下)大概是这样:

如:u‘/usr/local/lib/python2.7/dist-packages/matplotlib-1.5.1-py2.7-linux-i686.egg/matplotlib/mpl-data/matplotlibrc‘

用管理员权限打开这个文件,找到带有

#font.serif: 
#font.family:

的两行,取消注释之,保存。

部分参考链接:http://blog.csdn.net/xexiyong/article/details/51970060

				
时间: 2024-10-04 23:48:47

linux下,matplotlib遇到的相关问题以及解决方法的相关文章

在LINUX下安装DISCUZ出现的错误:advice_mysqli_connect 解决方法。

在用curl进行模拟调用时,curl接收内容会出现"Empty reply from server"的错误. 修改httpd.conf,在虚拟主机上添加如下内容:EnableSendfile offEnableMMAP off 在安装discuz时,无法安装,提示错误如下:advice_mysqli_connect 解决方法:重新安装php, 配置如下:cd php-5.3.27 ./configure --prefix=/usr/local/php --with-apxs2=/usr

Linux下error while loading shared libraries的解决方法

1. 出现error while loading shared libraries的原因 1-1. 不存在该共享库,如果是这个原因,需要下载或者编译该共享库先了. 1-2. 存在该共享库,但是找不到或者共享库的不对 如果是第二种情况,请继续往下看. 2.原因分析 系统查看共享库的过程:首先查找 /etc/ld.so.cache文件,如果找不到就查找环境变量里的LD_LIBRARY_PATH的值,如果找到了就到对应的目录加载该共享库,如果找不到就报error while loading share

Error: Linux下 mysql.sock文件丢失被删除解决方法

在默认情况下,Mysql安装以后会在/tmp目录下生成一个mysql.sock文件,如该文件丢失则Mysql将不能够正常启动,解决方法:使用mysqld_safe 启动即可解决: #basedir:mysql安装路径,默认在/usr/local/mysql下:datadir:数据库存放路径,默认在/usr/local/mysql/data #使用下面的命令启动后,会在/tmp/下生成一个mysql.sock文件#./ 即为:/usr/local/mysql/bin $ ./mysqld_safe

Linux下Eclipse中 中文显示乱码的解决方法

解决方法:在菜单项Window下打开子菜单prefence,在其中设置编码方式为UTF-8.

linux 下普通用户无法使用sudo命令的解决方法

装完linux系统,发现普通用户无法使用sudo 命令, 提示:xinhuan(普通用户)is not in the sudoers file, This incident will be reported. 大概意思是说xinhuan 这个用户不在sudoers这个文件里,这个事件将要被报告的. 我们可以这样做 [[email protected]~]$su -    (切换到root) 输入超级用户root密码 [[email protected]~]#chmod u+w /etc/sudo

Linux下忘记MySQL的root密码的解决方法

恢复方法之一 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: vim /etc/my.cnf 在[mysqld]的段中加上一

Linux下g++编译thread出错的的解决方法

错误如下图所示: 因为thread是C++11新加入的特性,所以我们在用g++编译的时候不能直接用,需要在g++后面加上 -std=c++0x -pthread 如果是gcc编译多线程的话则应该要用 gcc xxx.c -lpthread来编译,因为pthread并不是linux库里面的 原文地址:https://www.cnblogs.com/wuyepeng/p/9737507.html

【Linux】Linux下安装MySQL版本冲突的一个解决方法

 在安装MySQL服务时出现如下错误: 要安装的版本是5.1.45,而之前有安装过5.0.22版本的,因此出现: MySQL conflicts withmysql-5.0.22-2.1.0.1.i386 MySQL-server conflicts with mysql-server-5.0.22-2.1.0.1.i386 使用rpm -e –nodeps mysql-5.0.22-2.1.0.1,删除之前的版本,如果没删除mysql-server-5.0.22-2.1.0.1.i386还

Linux下is not in the sudoers file解决方法

当我们使用sudo命令切换用户的时候可能会遇到提示以下错误:xxx is not in the sudoers file. This incident will be reported,xxx是你当前的用户名,究其原因是用户没有加入到sudo的配置文件里 切换到root用户,运行visudo命令 在打开的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行 xxx ALL=(ALL) ALL 其中xxx是你要加入的用户名称 3 输入:wq保存并退出配置文件,再次使用sudo命令就