Python学习-Matplotlib库绘制简单散点图图和线型图、标签设置以及刻度线设置操作

目录

1、Matplotlib绘图细节的简单理解
2、绘制点图、线型图
3、给图表设置复杂标注
4、移动刻度线
1、Matplotlib绘图细节
Figure(画板)、axes(画纸)、axis(x轴,y轴)&data(数据)、plot(绘图函数),title(标题)、axis(Tick,Tick lable, lable)(axis的刻度&标签)
导入库
import numpy as np
import matplotlib.pyplot as plt
导入中文字体,打印图标签
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)  # 导入中文字体,打印中文标签
2、绘制点图、线型图
设置数据(x, y)
x = np.linspace(start=0, stop=np.pi*2, num=30)  # 从x轴0到2Π之间,生成100个数据点
ys, yc = np.cos(x), np.sin(x)  # y轴,y与x对应函数映射
# plot(*args,fmt,data=None,**kwargs) args:x,y  fmt:线颜色
# **kwargs:线宽度(linewidth=2),颜色(color='blue'),图标(marker='o',markersize=12),线风格(linestyle='dashed')

plt.figure(1)
plt.subplot(221)
# 点图,必须指定图标,且不能有关于线的指定条件,否则将会画成线
plt.plot(x, ys, '.', color='blue')
plt.plot(x, yc, '.', color='green')

# 线型图
plt.subplot(222)
plt.plot(x, ys, color='blue')
plt.plot(x, yc, color='red')

# 虚线  线风格(linestyle='dashed','-','--','-.',':')
plt.subplot(223)
plt.plot(x, ys, marker='o', color='blue', linestyle='--')
plt.plot(x, yc, marker='o', color='red', linestyle='--')

# 改坐标标签
plt.subplot(224)
plt.plot(x, ys)
plt.plot(x, yc)
plt.xlabel('坐标轴x', fontproperties=font)
plt.ylabel('坐标轴y', fontproperties=font)
plt.title('cos & sin', fontproperties=font)

plt.show()
输出


图1为散点图,图2为线型图,图三设置线风格,图4设置标签

3、给图表设置复杂标注
plt.figure(2)
x1 = np.arange(-np.pi, np.pi, 0.05)  # 在x轴-Π到Π之间,以0.05为间隔生成数据点
ys, yc = np.cos(x1), np.sin(x1)  # y轴,y与x对应函数映射
plt.plot(x1, ys)
plt.plot(x1, yc)

# 文本标题标注text(x, y, s, **kwargs)  x,y:位置,kwargs:字体属性
plt.text(x=-1, y=-0.75, s='cos & sin', fontsize=20, fontweight='heavy')

# 箭头标注arrow(x, y, dx, dy, **kwargs)
plt.arrow(x=-2.0, y=0.75, dx=2.0, dy=0.25, width=0.02, fc='green')

# 复杂标注
plt.annotate(text='Top max', xy=(-2.5, 0.68), color='red')

plt.show()
输出

在这里插入图片描述

4、移动刻度线
plt.figure(3)
x1 = np.arange(-np.pi, np.pi, 0.05)  # 在x轴-Π到Π之间,以0.05为间隔生成数据点
ys, yc = np.cos(x1), np.sin(x1)  # y轴,y与x对应函数映射
plt.plot(x1, ys)
plt.plot(x1, yc)
# 移动刻度线
ax = plt.gca()  # 获取当前axes类实例
# 用spines设置颜色值为none,把右刻度线和顶刻度线隐藏
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')  # 把x轴刻度线位置设置为bottom
ax.spines['bottom'].set_position(('data', 0))  # 把底部的刻度线设置到数据区域的0位置
ax.yaxis.set_ticks_position('left')  # 把y轴刻度线位置设置为left
ax.spines['left'].set_position(('data', 0))  # 把左部的刻度线设置到数据区域的0位置

plt.show()
输出

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐