Python Matplotlib绘图笔记【草稿 未完成】

举报
海轰Pro 发表于 2021/08/28 23:49:50 2021/08/28
【摘要】 文章目录 1 pyplot.figure( )语法参数测试figsizefacecoloredgecolorframeon 2 pyplot.subplot( )说明设置所有子图的大标题...

1 pyplot.figure( )

语法

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

参数

  • num:图像编号或名称,数字为编号 ,字符串为名称
  • figsize:指定figure的宽和高,单位为英寸;
  • dpi参数指定绘图对象的分辨率,即每英寸多少个像素,默认值为80 (1英寸等于2.5cm,A4纸是 21*30cm的纸张 )
  • facecolor:背景颜色
  • edgecolor:边框颜色
  • frameon:是否显示边框/表示是否绘制窗口的图框

测试

figsize

默认时

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
设置为figsize=(4,6)

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(figsize=(4,6))
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
设置为figsize=(8,6)

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(figsize=(8,6))
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
设置为figsize=(12,6)

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(figsize=(12,6))
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
设置为figsize=(8,3)

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(figsize=(8,3))
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
设置为figsize=(8,9)

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(figsize=(8,9))
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

facecolor

默认状态:
在这里插入图片描述
将背景色设置为红色

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(facecolor="red")
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
将背景色设置为#00cec9

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(facecolor="#00cec9")
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

edgecolor

如果只是单纯的设置edgecolor 会发现并没有起作用

这是因为默认状态下linewidth=0

所以只需要设置一下linewidth,使其不为0 ,就可以使edgecolor生效

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(linewidth=5.0,edgecolor="red")
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

frameon

这里需要先设置linewidth=5.0,edgecolor="red" 便于观察

不然默认情况下,边框不好观察出来

frameon默认为True

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(linewidth=5.0,edgecolor="red",frameon=True)
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
设置为False时,边框不显示

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)

plt.figure(linewidth=5.0,edgecolor="red",frameon=False)
plt.plot(x,y)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

2 pyplot.subplot( )

说明

subplot(121) 表示整个区域分为一行,两列,一共可以容纳2张子图,此子图位于第一个位置

前面两个数字表示分为几行几列,后一个数字表示第几个位置。
排列顺序:从左到右,从上到下

subplot(122) 表示此子图位于第二个位置

举例:subplot(122) 位于下图中蓝色位置

在这里插入图片描述
subplot(223) 位于下图中蓝色位置

在这里插入图片描述
Demo代码

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
y = np.sin(x)
z = np.cos(x)

plt.figure(figsize=(12,6))

# 子图1
plt.subplot(1,2,1)
plt.plot(x,y)

# 子图2
plt.subplot(1,2,2)
plt.plot(x,z)

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

在这里插入图片描述

设置所有子图的大标题

pyplot.suptitle() 用于设置整个区域的标题(多个子图的情况下)

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

# 配置中文(这里依据自己的实际情况而定)
font = {
    "family": "Microsoft YaHei"
}
matplotlib.rc("font", **font)

x = np.linspace(0,10,100)
y = np.sin(x)
z = np.cos(x)

plt.figure(figsize=(12,6))

plt.suptitle("全局标题")  # 全局标题

# 子图1
plt.subplot(1,2,1)
plt.plot(x,y)

# 子图2
plt.subplot(1,2,2)
plt.plot(x,z)

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在这里插入图片描述

分别设置每个子图的标题

ax = plt.subplot(122)
ax.set_title("子图2的标题")

  
 
  • 1
  • 2

Demo代码

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

# 配置中文(这里依据自己的实际情况而定)
font = {
    "family": "Microsoft YaHei"
}
matplotlib.rc("font", **font)

x = np.linspace(0,10,100)
y = np.sin(x)
z = np.cos(x)

plt.figure(figsize=(12,6))

plt.suptitle("全局标题")  # 全局标题

# 子图1
plt.subplot(1,2,1)
ax = plt.subplot(121)
ax.set_title("子图1的标题")
plt.plot(x,y)

# 子图2
plt.subplot(1,2,2)
ax = plt.subplot(122)
ax.set_title("子图2的标题")
plt.plot(x,z)

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

在这里插入图片描述

注: 还可以这样写 ax = plt.subplot(221+i)

3 pyplot.legend( )

作用:为图像加图例

首先需要在plt.plot( )中的参数label=’’“设置图例的名称

Demo代码

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

# 配置中文(这里依据自己的实际情况而定)
font = {
    "family": "Microsoft YaHei"
}
matplotlib.rc("font", **font)

x = np.linspace(0,10,100)
y = np.sin(x)
z = np.cos(x)

plt.plot(x,y,label="sin(x)")# 图例名称有:sin(x)
plt.plot(x,z,label="cos(x)")# 图例名称有:cos(x)
plt.legend()# 添加图例

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在这里插入图片描述

文章来源: haihong.blog.csdn.net,作者:海轰Pro,版权归原作者所有,如需转载,请联系作者。

原文链接:haihong.blog.csdn.net/article/details/119866518

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。