Matplotlib绘图添加标题,图例,网格,参考线,注释文本,数学表达式,标签,修改刻度 您所在的位置:网站首页 亿图图画柱状图的参考线 Matplotlib绘图添加标题,图例,网格,参考线,注释文本,数学表达式,标签,修改刻度

Matplotlib绘图添加标题,图例,网格,参考线,注释文本,数学表达式,标签,修改刻度

2024-07-16 11:05| 来源: 网络整理| 查看: 265

Matplotlib绘图添加标题,图例,网格,参考线,注释文本,数学表达式,标签,修改刻度 一.设置x轴和y轴的标签二.设置刻度范围三.添加标题和图例标题图例 四.显示网格五.添加水平参考线和参考区域1.使用axhline添加水平参考线2.使用axvline绘制垂直参考线3.使用axhspan和axvspan添加参考区域 六:添加注释文本一.指向性文本二.无指向性文本注释文本 七.添加数学公式 Matplotlib绘图添加标题,图例,网格,参考线,注释文本,数学表达式,标签,修改刻度

matplotlib绘制直方图,饼图,散点图,气泡图,箱型图,雷达图 http://t.csdn.cn/ZeXim

matplotlib的参数配置:http://t.csdn.cn/TiI79

一.设置x轴和y轴的标签 xlabel(xlabel,fontdict=None,labelpad=None) ylabel(ylabel,fontdict=None,labelpad=None)

xlabel/ylabel: 表示x轴(y轴)的标签文本。

fontdict:表示控制标签文本样式的字典。

labelpad:表示标签与坐标轴边框(包括刻度和刻度标签)的距离。

示例代码:

# 标签 import numpy as np import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 x=np.linspace(-np.pi,np.pi,256,endpoint=True) y1,y2=np.sin(x),np.cos(x) plt.plot(x,y1,x,y2) # 设置标签 plt.xlabel("this is x 轴",size=20) plt.ylabel("this is y 轴",size=20) plt.show()

image-20221001205035213

二.设置刻度范围

使用xlim,ylim函数来设置x轴和y轴的范围

xlim(left=None,right=None,emit=True,auto=False,xmin=None,xmax=None) ylim(left=None,right=None,emit=True,auto=False,ymin=None,ymax=None) 使用xmin(ymin)和xmax(ymax)来设置 # 标签 import numpy as np import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 x=np.linspace(-np.pi,np.pi,256,endpoint=True) y1,y2=np.sin(x),np.cos(x) plt.plot(x,y1,x,y2) # 设置标签 plt.xlabel("this is x 轴",size=20) plt.ylabel("this is y 轴",size=20) # 刻度标签 plt.xlim(-4,4) plt.ylim(-1,1) plt.show()

image-20221001205614877

三.添加标题和图例 标题 title(label,fontdict=None,loc="center",pad=None)

主要是这里这个loc

loc:表示标题的对齐样式,包括left,right,centerpad:表示标题与图表顶部的距离,默认为None 图例 legend(handles,labels,loc) loc:图例的位置这里可以选择uper right,upper left,lowerleft,lowright …建议选择loc=‘best’ # 标签 import numpy as np import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 x=np.linspace(-np.pi,np.pi,256,endpoint=True) y1,y2=np.sin(x),np.cos(x) pic=plt.plot(x,y1,x,y2) # 设置标签 plt.xlabel("this is x 轴",size=20) plt.ylabel("this is y 轴",size=20) # 刻度标签 plt.xlim(-4,4) plt.ylim(-1,1) # 添加标题 plt.title("正弦曲线和余弦曲线",loc="left") # 添加图例 plt.legend(pic,["sinx","cosx"],shadow=True,fancybox="blue") plt.show()

image-20221001210854598

四.显示网格

这个简单,plt.grid()就好了,但是里面还有一些参数

grid(b=True,axis="both",which='major')

which:显示网格的类型,支持major,minor,both默认是major

axis:表示显示哪个方向的网格,有x,y,both三个选项

linewidth或lw:线条的宽度

默认:

# 标签 import numpy as np import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 x = np.linspace(-np.pi, np.pi, 256, endpoint=True) y1, y2 = np.sin(x), np.cos(x) pic = plt.plot(x, y1, x, y2) # 设置标签 plt.xlabel("this is x 轴", size=20) plt.ylabel("this is y 轴", size=20) # 添加标题 plt.title("正弦曲线和余弦曲线", loc="left") # 添加图例 plt.legend(pic, ["sinx", "cosx"], shadow=True, fancybox="blue") # 网格 plt.grid() plt.show()

image-20221001211112120

选择添加y轴的网格,修改lw为0.3

plt.grid(lw=1, axis="y")

image-20221001211644221

五.添加水平参考线和参考区域 1.使用axhline添加水平参考线 axhline(y=0,xmin=0,xmax-1,linestyle="-")

y:表示水平参考线的坐标

xmin:表示水平参考线的起始位置,默认为0

xmax:水平参考线的终止位置,默认为1

linstyle:表示水平参考线的类型,默认是实线

linstyle的其他类型:http://t.csdn.cn/Ufbvt

image-20221001212112835

2.使用axvline绘制垂直参考线

axvline与axhline的语法类似,只需要修改x和y即可

示例:在上图中添加两条参考线:

# 标签 import numpy as np import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 x = np.linspace(-np.pi, np.pi, 256, endpoint=True) y1, y2 = np.sin(x), np.cos(x) pic = plt.plot(x, y1, x, y2) # 设置标签 plt.xlabel("this is x 轴", size=20) plt.ylabel("this is y 轴", size=20) # 添加标题 plt.title("正弦曲线和余弦曲线", loc="left") # 添加图例 plt.legend(pic, ["sinx", "cosx"], shadow=True, fancybox="blue") # 网格 plt.grid(lw=1, axis="y") # 参考线 plt.axvline(x=0.5, linestyle=":", color="m") plt.axhline(y=0.5, linestyle="--", color="y") plt.show()

image-20221001212546052

3.使用axhspan和axvspan添加参考区域 axhspan(ymin,ymax,xmin,xmax) axvspan(ymin,ymax,xmin,xmax) ymin:表示水平跨度的下限ymax表示水平跨度的上限xmin:表示垂直跨度的下限xmax:表示垂直跨度的上限 # 标签 import numpy as np import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 x = np.linspace(-np.pi, np.pi, 256, endpoint=True) y1, y2 = np.sin(x), np.cos(x) pic = plt.plot(x, y1, x, y2) # 设置标签 plt.xlabel("this is x 轴", size=20) plt.ylabel("this is y 轴", size=20) # 添加标题 plt.title("正弦曲线和余弦曲线") # 添加图例 plt.legend(pic, ["sinx", "cosx"], shadow=True, fancybox="blue") # 网格 plt.grid(lw=1, axis="y") # 参考线 plt.axvline(x=0.5, linestyle=":", color="m") plt.axhline(y=0.5, linestyle="--", color="y") # 参考区域 plt.axvspan(xmin=0.5, xmax=1, alpha=0.32) plt.axhspan(ymin=0.2, ymax=0.5, alpha=0.32) plt.show()

image-20221001213116289

六:添加注释文本 一.指向性文本 anootate(s,xy,xytext,xycoords,arrowprops,bbox) s:表示注释的文本内容xy:表示注释的点的坐标位置,接受元组(x,y)xytext:表示注释文本所在的坐标位置xycoords:表示xy的坐标系统,默认使用与折线使用相同的坐标系统bbox:表示注释文本的边框的属性字典arrowprops:表示知识箭头的属性字典

arrowprops参数如下:

image-20221001214629604

二.无指向性文本注释文本 text(x,y,s,fontdict=None,bbox)

x,y:表示注释文本的位置。

s:表示注释文本的内容。

fontdict:表示控制字体的字典。

bbox:表示注释文本的边框属性子弹

例如:

# 标签 import numpy as np import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 x = np.linspace(-np.pi, np.pi, 256, endpoint=True) y1, y2 = np.sin(x), np.cos(x) pic = plt.plot(x, y1, x, y2) # 设置标签 plt.xlabel("x 轴", size=20) plt.ylabel("y 轴", size=20) # 添加标题 plt.title("正弦曲线和余弦曲线") # 添加图例 plt.legend(pic, ["sinx", "cosx"], shadow=True, fancybox="blue") # 网格 plt.grid() plt.annotate("最小值", xy=(-np.pi / 2, -1.0), xytext=((-np.pi / 2), -0.5), arrowprops=dict(arrowstyle="->")) plt.text(3.1, 0.1, "y=sin(x)", bbox=dict(alpha=0.2)) plt.show()

image-20221001215003576

七.添加数学公式

只要使用latetx或者katex语法即可

比如r"$\sin x$"就会显示为 sin ⁡ x \sin x sinx

这里修改下标题

# 标签 import numpy as np import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 x = np.linspace(-np.pi, np.pi, 256, endpoint=True) y1, y2 = np.sin(x), np.cos(x) pic = plt.plot(x, y1, x, y2) # 设置标签 plt.xlabel(" x 轴", size=15) plt.ylabel(" y 轴", size=15) # 添加标题 plt.title(r'$\frac{\sin x}{2}$') # 添加图例 plt.legend(pic, ["sinx", "cosx"], shadow=True, fancybox="blue") # 网格 plt.grid() plt.annotate("最小值", xy=(-np.pi / 2, -1.0), xytext=((-np.pi / 2), -0.5), arrowprops=dict(arrowstyle="->")) plt.text(3.1, 0.1, "y=sin(x)", bbox=dict(alpha=0.2)) plt.show()

image-20221001220255295

参考链接:Matplotlib — Visualization with Python 参考书籍:Python数据可视化%20(黑马程序员)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有