Matplotlib系列_绘图注意事项
程序员文章站
2022-12-21 08:03:53
文章目录1. 图像在Retina屏幕中显示模糊2. 图像美感问题3. 中文显示乱码4. 全部载入上述设置时,注意载入顺序5. Jupyter notebook图像输出的三种方式一、内联模式:网页直接显示图像二、GUI模式:弹出GUI软件界面显示图像三、内联GUI显示:在网页内显示GUI版图像,结合前两种的好处6. pylab,自动载入numpy和Matplotlibimport matplotlib.pyplot as pltplt.plot([2,3,8,1,5,9])# plt.show()...
文章目录
import matplotlib.pyplot as plt
plt.plot([2,3,8,1,5,9])
# plt.show()
[<matplotlib.lines.Line2D at 0x21ef61de978>]
1. 图像在Retina屏幕中显示模糊
在Mac
电脑绘图,Retina
屏下图像显示很模糊,解决方法,Jupyter-notebook
绘图前先执行下面魔术命令:
%config InlineBackend.figure_format = 'retina'
2. 图像美感问题
默认的Matplotlib
生成图像不太好看,可在头部载库代码中加一句配置代码修改其样式。
注意:修改样式代码应写在修改字体代码前,否则会覆盖字体设置导致中文出错。
plt.style.use('seaborn')
plt.plot([2,3,8,1,5,9])
[<matplotlib.lines.Line2D at 0x21ef628e8d0>]
3. 中文显示乱码
Matplotlib
默认不支持中文字符,因为默认设置字体是sans-serif
英文字体不能显示汉字
解决方法:修改Matplotlib默认设置,加入中文字体支持。
注意:Ubuntu
系统默认中文字体不识别,需要先安装下列一个中文字体以后才能使用
plt.rcParams['font.family'] = ['Arial Unicode MS', 'Microsoft Yahei', 'SimHei', 'sans-serif'] # 全局设置支持中文字体,默认 sans-serif
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
plt.plot([2,3,8,1,5,9])
plt.title('你好我是汉字标题')
<matplotlib.text.Text at 0x21ef62fe940>
4. 全部载入上述设置时,注意载入顺序
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
plt.style.use('seaborn') # 更换图像样式
plt.rcParams['font.family'] = ['Arial Unicode MS', 'Microsoft Yahei', 'SimHei', 'sans-serif'] # 解决中文乱码
plt.rcParams['axes.unicode_minus'] = False # 如果字体为SimHei黑体,负号乱码,解决
# MAC电脑解决图片模糊魔术命令
# %config InlineBackend.figure_format = 'retina'
5. Jupyter notebook图像输出的三种方式
1. 内联显示:网页内显示图像,方便(默认)。
2. GUI显示:GUI软件界面显示图像,可操作强。
3. 内联GUI显示:在网页内显示GUI版图像,结合前两种的好处。
注意:网页内显示GUI图像时,cell完成后应该终止图像动态,否则下面cell执行新图像时可能会绘制到上面
cell的图像画布中,因为两个图像的父对象id相同。
4.切换输出模式时,一般需要重启内核
一、内联模式:网页直接显示图像
Jupyter
默认显示模式
# 设置的话使用下面代码
%matplotlib inline
plt.plot([2,3,8,1,5,9])
[<matplotlib.lines.Line2D at 0x21ef6667e80>]
二、GUI模式:弹出GUI软件界面显示图像
%matplotlib qt5
plt.plot([2,3,8,1,5,9])
[<matplotlib.lines.Line2D at 0x21ef9084ba8>]
三、内联GUI显示:在网页内显示GUI版图像,结合前两种的好处
%matplotlib notebook
plt.plot([2,3,8,1,5,9])
Warning: Cannot change to a different GUI toolkit: notebook. Using qt5 instead.
[<matplotlib.lines.Line2D at 0x21ef91073c8>]
notebook
模式,下面cell
的图会画到上面底图中,终止上面图像就会正常
plt.plot([10,15,8,5,2])
plt.plot([-5, 0,5,10,15])
[<matplotlib.lines.Line2D at 0x21ef949c780>]
6. pylab,自动载入numpy和Matplotlib
了解即可,不建议使用,下面方法都会自动载入numpy
和Matplotlib
库,直接使用
命令行打开:ipython --pylab
命令行打开:jupyter notebook --pylab=inline
Python原生环境、Pycharm或Spyder等集成模式下,载入库:from pylab import *
旧版写法,别人写你能看懂
你不要这么写
下面魔术命令自动载入Numpy
和Matplotlib
库
%pylab inline
Populating the interactive namespace from numpy and matplotlib
np.array([1,2,3,4,5])
array([1, 2, 3, 4, 5])
plt.plot([10,15,8,5,2])
[<matplotlib.lines.Line2D at 0x21ef92f22b0>]
非IPython
环境可以用下面代码载入pylab
Python原生环境、Pycharm或Spyder集成模式下:
from pylab import *
或者直接将交互终端设置为IPython
即可
本文地址:https://blog.csdn.net/weixin_43593330/article/details/107330042
上一篇: 写出让阅读量暴增的十五大标题技巧