pyplot画图

import numpy as np
import matplotlib.pyplot as plt

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

# 创建绘图对象,figsize参数指定绘图对象的长度和高度, 单位英寸, 1英寸=80px
plt.figure(figsize=(8, 4))

# 在当前绘图对象中画图(绘制曲线名字,画线颜色, 画线宽度)
plt.plot(x, y, label="$sin$", color="red", linewidth=2)

plt.xlabel("Time(s)")
plt.ylabel("Volt")

plt.title("PyPlot First Example")

plt.ylim(-1.2, 1.2)

# 显示图示
plt.legend()

plt.show()

Out:

在这里插入图片描述
注意:show()函数在通常的运行情况下,将会阻塞程序的运行,直到用户关闭绘图窗口。换句话说,在关闭show()函数弹出的图像窗口前,show()函数后面的代码不会运行,直到用户关闭图像窗口,才会继续。
plt.savefig()函数应该出现在plt.show()函数之前,否则,关闭图像窗口后,图像对象也就被释放了,什么都保存不到。

多图

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-1, 1, 0.1)
y1 = np.exp(x)
y2 = np.exp(2*x)
plt.plot(x, y1, color='red', linestyle='-', marker='^', linewidth=1)
plt.plot(x, y2, color='green', linestyle=':', marker='s', linewidth=1)

plt.xlabel("x")
plt.ylabel("y")

plt.show()

子图

figure()函数可以帮助我们同时处理生成多个图,而subplot()函数则用来实现,在一个大图中,出现多个小的子图。需要注意的是,figure()中的参数为图片序号,一般是按序增加的,这里面还涉及一个当前图的概念,具体可以通过下面的例子来理解;subplot()中的参数一般有3个,分别为行数,列数,以及子图序号。比如,subplot(1, 2, 1)表示这是一个1行,2列布局的图(两个子图,在同一行,分居左右),其中,当前处理的子图是第一个图(也就是左图)。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-1, 1, 0.1)

y1 = np.exp(x)
y2 = np.exp(2*x)
y3 = np.exp(1.5*x)

plt.figure(figsize=(8, 4)) # 生成第一个图,且当前处理的是第一个图
plt.subplot(1, 2, 1)  # fig1是一个一行两列布局的图,现在处理的是左图
plt.plot(x, y1, color='r', linestyle='-', marker='^', linewidth=1)

plt.xlabel("x")
plt.ylabel("y1")

plt.subplot(1, 2, 2)  # fig1是一个一行两列布局的图,现在处理的是右图
plt.plot(x, y1, color='g', linestyle='-', marker='s', linewidth=1)
plt.xlabel("x")
plt.ylabel("y2")

plt.show()

Out:
在这里插入图片描述

添加图例

函数plt.legend()用来为图像添加图例。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-1, 1, 0.1)

y1 = np.exp(x)
y2 = np.exp(2 * x)

plt.plot(x, y1, color="r", linestyle="-", marker="^", linewidth=1, label="y1")
plt.plot(x, y2, color="b", linestyle="-", marker="s", linewidth=1, label="y2")

plt.legend(loc='upper left', bbox_to_anchor=(0.2, 0.95))

plt.title("Figure 1")

plt.show()

legend()里面的参数loc表示图例的位置,参数bbox_to_anchor是一个二元组,用来进一步细化图例的位置,其中第一个数值用于控制legend的左右移动,值越大越向右边移动,第二个数值用于控制legend的上下移动,值越大,越向上移动。此外,我们在画两条曲线时,分别为它们添加了标签label,标签的内容也就是最后图例中对应的内容。

中文图例乱码问题解决

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示正号
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值