matplotlib绘图技巧详解(一)

简介: matplotlib绘图技巧详解(一)

1、说明

 之前的文章,我们通过图文的方式(如图所示),已经讲述了matplotlib的绘图原理,这个对于绘图至关重要,因此希望大家先看了那篇文章,再阅读本篇文章。“matplotlib绘图的核心原理”这篇文章的链接:文档:https://blog.csdn.net/weixin_41261833/article/details/104299701

image.png


2、图形交互性设置(jupyter notebook独有的知识)

%matplotlib notebook 弹出可交互的matplotlib窗口

%matplotlib qt5 弹出matplotlib控制台

%matplotlib inline 直接嵌入图表,不需要使用plt.show()

1)测试如下

① %matplotlib notebook和%matplotlib qt5效果一样

% matplotlib notebook
plt.plot([1,2,3,4,5], [2,4,6,8,10], "g-.o")


结果如下:

image.png


② %matplotlib inline

% matplotlib inline
plt.plot([1,2,3,4,5], [2,4,6,8,10], "g-.o")


结果如下:

image.png


3、中文支持等相关设置

 matplotlib默认情况下不支持中文显示,如果需要显示中文,则我们需要做一些额外的设置操作。设置可以分为如下两种:


全局设置:设置一次,对所有的操作有效;

局部设置:在某一次绘图中,设置一次,仅对当前这个绘图有效;

注意:如果局部设置和全局设置都存在,则局部设置生效;

1)中文支持相关设置:全局设置

① 中文字体设置

font.family 字体的名称

sans-serif 西文字体(默认)

SimHei 中文黑体

FangSong 中文仿宋

YouYuan 中文幼圆

STSong 华文宋体

Kaiti 中文楷体

LiSu 中文隶书

代码如下:


mpl.rcParams["font.family"] = "SimHei"


② 字体风格设置

font.style 字体的风格

normal 常规(默认)

italic 斜体

oblique 倾斜

代码如下:


mpl.rcParams["font.style"] = "italic"


③ 字体大小设置(默认是10)

代码如下:


mpl.rcParams["font.size"] = 16


2)中文支持相关设置:局部设置

font = {"family":"Kaiti",
       "style":"oblique",
        "weight":"normal",
        "color":"green",
        "size": 20
       }
plt.title("中文", fontdict=font)


3)演示如下

import matplotlib as mpl
import matplotlib.pyplot as plt
# 中文字体设置
mpl.rcParams["font.family"] = "SimHei"
# 字体大小设置
mpl.rcParams["font.size"] = 16
# 字体风格设置
mpl.rcParams["font.style"] = "italic"
plt.plot([-3, -2], [-1, -5], "r--")
plt.title("我是中文-标题")


结果如下:

image.png

结果分析:通过上述设置,我们已经可以正常显示中文。但是可以发现,图中的“-”符号并不能正常显示,这就是下面我们要讲的“-”(负号)特殊符号的相关设置。

 


4、"-"(负号)特殊符号的相关设置

axes.unicode_minus 是否使用Unicode的负号,在支持中文显示状态下,需要设置为False。

代码如下:


mpl.rcParams["axes.unicode_minus"] = False


演示如下:


import matplotlib as mpl
import matplotlib.pyplot as plt
# 中文字体设置
mpl.rcParams["font.family"] = "SimHei"
# 字体大小设置
mpl.rcParams["font.size"] = 16
# 字体风格设置
mpl.rcParams["font.style"] = "italic"
# "-"(负号)特殊符号设置
mpl.rcParams["axes.unicode_minus"] = False
plt.plot([-3, -2], [-1, -5], "r--")
plt.title("中文标题")


结果如下:

image.png


5、保存图像与读取图象设置

1)保存图像

dpi:每英寸分辨率点数。

facecolor:设置图像的背景色。

bbox_inches:设置为tight,可以紧凑保存图像,删除figure周围的空白部分

操作如下:


plt.plot([1,3,5,7],[4,9,6,8],"r-.o")
plt.savefig("image1.png",dpi=100,facecolor="g",bbox_inches="tight")


结果如下:

image.png


2)读取图像

# 导入相关库
from PIL import Image
# 从硬盘读取文件
image = Image.open("image1.png")
# 会使用操作系统的默认图片打开器打开图片
image.show()


相关文章
|
4月前
|
数据可视化 数据挖掘 大数据
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
108 0
|
11月前
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
181 0
|
4月前
|
资源调度 自然语言处理 数据可视化
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
98 1
|
1天前
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 2
在 Matplotlib 中使用 `plot()` 方法的 `marker` 参数来自定义图表标记。通过不同符号如 `"o"`(实心圆)、`"v"`(下三角)等,可实现多样化的标记效果。示例展示了实心圆标记的使用方法,提供了多种标记符号供选择,包括几何形状和特殊符号。
11 0
|
1月前
|
Python
​16个matplotlib绘图实用小技巧
​16个matplotlib绘图实用小技巧
|
1月前
Matplotlib.pyplot.plot 绘图
Matplotlib.pyplot.plot 绘图
13 1
|
1月前
|
数据可视化 数据格式 Python
Matplotlib绘图从零入门到实践(含各类用法详解)
本文是一份全面的Matplotlib绘图库教程,涵盖了从基础到高级的各类用法,包括安装、基础图形绘制、调节设置、数值处理、图形美化、动画制作等,并提供了理论讨论和实例项目,旨在帮助读者从零开始学习并掌握Python中的Matplotlib绘图。
44 0
|
2月前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
|
2月前
|
Python
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
|
3月前
|
Python
【随手记】贴一段matplotlib绘图的多图拼接代码
【随手记】贴一段matplotlib绘图的多图拼接代码
47 1