Python学习笔记——matplotlib的简单使用(1)

Python学习笔记——matplotlib的简单使用(1),第1张

Matplotlib的简单使用(1
  • 1.plot() 绘制曲线图
  • 2.scatter() 绘制散点图
  • 3.坐标轴的范围与名称
  • 4.在显示的图像画参考线
  • 5.添加图形内容细节的指向型注释文本
  • 6.添加图形内容细节的无指向型注释文本

1.plot() 绘制曲线图
导入所需模块
import matplotlib.pyplot as plt
import numpy as np


# 准备数据
x = np.linspace(1, 10, 200)		# [0,10]之间均匀取出200个数
y = np.sin(x)  					# y=sin(x)
# 按数据绘制数据
'''将x,y的值绘制成图像,
c='r'线条颜色为红色,
ls='-'线条风格为虚线, 
lw=2线条宽度为2, 
label='y=sinx' 显示线条信息 
'''
plt.plot(x, y, c='r', ls='-', lw=2, label='y=sinx')

# 显示绘制内容
plt.legend()  # 显示 label='y=sinx'
plt.show()  # 显示绘制完成的图像

2.scatter() 绘制散点图
导入所需模块
import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(0, 10, 1000)  # [0,10]均匀取出1000个数
y = np.random.randn(1000)  # 标准正态分布中随机取出1000个数

plt.scatter(x, y, c='r', s=0.5, label='scatter figure')  # 根据x,y 绘制散点图 ,颜色为红色 ,点的大小为0.5

plt.legend()  # 显示标签scatter figure
plt.show()  # 显示图像

3.坐标轴的范围与名称
# 导入所需模块
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']    # 显示中文标签
plt.rcParams['axes.unicode_minus'] = False		#正确显示负数

x = np.linspace(1, 10, 200)  # [0,10]之间均匀取出200个数
y = np.sin(x)  # y=sin(x)

plt.titile('y=sinx')	#图像上方添加标题 y=sinx

plt.xlim(2, 5)  # x轴的范围[2, 5]
plt.ylim(-2, 2)  # y轴的范围[-2, 2]

plt.xlabel('x的值')			# x轴的名称为 x的值
plt.ylabel('sinx的值')		# y轴的名称为 sinx的值

plt.plot(x, y)  # 绘制图像
plt.show()		#显示图像

4.在显示的图像画参考线
# 导入所需模块
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 200)  # [0,10]之间均匀取200个数
y = np.sin(x)  # y=sinx

plt.plot(x, y)  # 绘制图象
plt.grid(ls=':', c='r')  # 绘制网格线 格式为':' 颜色为 r红色

plt.axhline(y=0.5, c='y', ls='--', lw=2)  # 绘制一条平行于x轴的直线 y=0.5 黄色,格式为'--' 线宽2
plt.axvline(x=2, c='y', ls='--', lw=2)  # 绘制一条平行于y轴的直线 x=2 黄色,格式为'--' 线宽2

plt.axhspan(ymin=-0.25, ymax=0.25, facecolor='g', alpha=0.3)  # 绘制平行于x轴的区域 [-0.25, 0.25] 绿色 ,透明度0.3
plt.axvspan(xmin=0, xmax=1, facecolor='g', alpha=0.3)  # 绘制平行于y轴的区域 [0, 1] 绿色 ,透明度0.3

plt.show()  # 显示图像

5.添加图形内容细节的指向型注释文本
# 导入所需模块
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 500)  # [0,10]均匀取500个数
y = np.sin(x)  # y=sinx

plt.plot(x, y)  # 绘制图像
plt.grid(ls=':')  # 绘制网格线  样式为':'

plt.axvline(x=np.pi / 2, ls=':', c='r')  # 绘制最大值的参考线  x=pi/2
plt.axhline(y=1, ls=':', c='r')  # 绘制最大值的参考线  y=1

plt.axvline(x=np.pi * 3 / 2, ls=':', c='g')  # 绘制最小值的参考线  x= pi*3/2
plt.axhline(y=-1, ls=':', c='g')  # 绘制最小值的参考线  y=-1

plt.annotate('maximum',  # 图形内容的注释文本 maximum
             xy=((np.pi / 2), 1),  # 被注释图形内容的位置坐标
             xytext=((np.pi / 2) + 1, 0.8),  # 注释文本的位置坐标
             weight="bold",  # 注释文本的字体粗细风格
             color="b",  # 注释文本的颜色
             arrowprops=dict(arrowstyle="->", connectionstyle="arc3", color="b")  # 指示被注释内容的箭头的属性字典
             )

plt.annotate('minimum',
             xy=((np.pi * 3 / 2), -1),
             xytext=((np.pi * 3 / 2) + 1, -0.8),
             weight="bold",
             color="b",
             arrowprops=dict(arrowstyle="->", connectionstyle="arc3", color="b")
             )
plt.show()  # 显示图像

6.添加图形内容细节的无指向型注释文本
# 导入所需模块
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 200)  # [0,10]均匀取200个数
y = np.sin(x)  # y=sinx

plt.plot(x, y)  # 绘制图像
plt.grid(ls=':')  # 显示网格线

plt.text(3, 0.5, 'y=sinx', c='b')  # (3,0.5)处添加文本 y=sinx 蓝色字体

plt.show()  # 显示图像

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/919163.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存