Matplotlib绘制折线图

本文介绍了使用Python的matplotlib库创建基础和高级折线图的方法,包括设置图例、中文字体、坐标轴标签、注释、刻度和网格,以及如何调整图的外观和细节。
摘要由CSDN通过智能技术生成

基础折线图

import numpy as np
import matplotlib.pyplot as plt

PI = np.pi 
x = np.linspace(0, 2*PI, 21)         # 创建一维数组,包含起止点
y1 = np.sin(x)
y2 = np.cos(x)

# 创建绘图板,设置绘图尺寸
plt.figure(figsize=(6, 2), dpi=100)  # 设置画布尺寸和分辨率
# 绘制折线图
plt.plot(x, y1, linewidth=1, linestyle="--", marker="o", markersize=6, label="sine")      # label为图例标签
plt.plot(x, y2, linewidth=2, linestyle="solid", marker="^", markersize=6, label="cosine")
plt.legend(loc="best", fontsize=10)  # 设置图例,loc设定图例位置
plt.show()

高级折线图

import numpy as np
import matplotlib.pyplot as plt

PI = np.pi 
x = np.linspace(0, 2*PI, 21)         # 创建一维数组,包含起止点
y1 = np.sin(x)
y2 = np.cos(x)

# 创建绘图板,设置绘图尺寸
plt.figure(figsize=(6, 2), dpi=100)  # 设置画布尺寸和分辨率
# 绘制折线图
plt.plot(x, y1, linewidth=1, linestyle="--", marker="o", markersize=6, label="sine")      # label为图例标签
plt.plot(x, y2, linewidth=2, linestyle="solid", marker="^", markersize=6, label="cosine")
plt.legend(loc="best", fontsize=10)  # 设置图例,loc设定图例位置

# 设置中文字体
"""
plt不能直接显示中文,rcParams为全局参数,应用于图中所有文字。
字体名称可查看C:\Windows\Fonts文件夹中的字体
"""
plt.rcParams["font.family"] = "simsun"  # 字体名称,宋体
plt.rcParams["font.size"] = 12          # 字体高度
plt.rcParams["font.style"] = "normal"   # normal正常,italic斜体
# 设置显示负号
plt.rcParams["axes.unicode_minus"] = False # plt不能直接显示负号
 
# 显示中文第二种方法,在输出中文的地方增加fontproperties
# plt.title(label="三角函数", fontproperties="Simhei", fontsize=16) 
# 设置全局参数
# plt.rcParams["lines.linewidth"] = 1

# 添加图名、坐标轴标签和注释
plt.title(label="三角函数", fontsize=20)    # 图名
plt.xlabel(xlabel="角度", fontsize=16)      # x坐标轴标签
plt.ylabel(ylabel="函数值", fontsize=16)    # y坐标轴标签
plt.text(PI, 0.1, r"($\pi$,0)")            # 文本注释,前两个参数为x、y定位坐标,第三个参数为注释
plt.annotate("peak", (PI/2, 1), (2, 0), fontsize=16, 
             arrowprops=dict(color="orange", width=2))             # 带箭头注释

# 设置坐标轴刻度及刻度标签,标签的数量要与刻度数量一致,主次刻度可以分开设置
# r"$pi$"、r"$alpha$"为latex表达式,用来表示特殊符号、公式等
plt.xticks(ticks=np.linspace(0, 2*PI, 5), labels=["0",r"$\pi$/2",
    r"$\pi$",r"3$\pi$/2",r"2$\pi$"], fontsize=10, rotation=45)     # x轴主刻度,ticks为刻度,label为刻度标签
plt.xticks(ticks=np.linspace(0, 2*PI, 21), minor=True)             # x轴次刻度
plt.yticks(ticks=[-1,0,1], fontsize=10)                            # y轴主刻度
plt.yticks(ticks=np.linspace(-1, 1, 5), minor=True)                # y轴次刻度
plt.axis([0, 2*PI, -1, 1])                                         # 设置坐标轴范围,前两个数为x轴范围,后两个为y轴范围
# plt.axis("off")                                                  # 设置坐标轴可见性

# 设置网格,网格是基于坐标轴刻度
plt.grid(True, which="major", linewidth=1, axis="both")            # 主网格沿xy轴
plt.grid(True, which="minor", lw=1, ls="--", alpha=0.5)            # 次网格,透明度0.5
plt.show() # 显示绘图窗口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值