Python学习-Matplotlib库绘制简单点阵图、线型图操作

20 篇文章 6 订阅

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()
输出

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值