Matplotlib入门[07]——修改默认设置
创始人
2024-03-25 07:33:55

Matplotlib入门[07]——修改默认设置

参考:

  • https://ailearning.apachecn.org/
  • Matplotlib官网

使用Jupyter进行练习

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt

生成三角函数:

x = np.linspace(-np.pi, np.pi)
c, s = np.cos(x), np.sin(x)

默认绘图

p = plt.plot(x,c)
p = plt.plot(x,s)# 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

可以修改默认的属性来得到更漂亮的结果。

图像以 Figure # 为窗口标题,并且数字从 1 开始,figure() 函数的主要参数如下:

参数默认值描述
num1图号
figsizefigure.figsize图大小(宽,高)(单位英寸)
dpifigure.dpi分辨率(每英寸所打印的点数)
facecolorfigure.facecolor背景颜色
edgecolorfigure.edgecolor边界颜色
frameonTrue是否显示图框架
# 设置图像大小
f = plt.figure(figsize=(10,6), dpi=80)# 画图
p = plt.plot(x,c)
p = plt.plot(x,s)# 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

设置线条颜色,粗细,类型

使用 color, linewidth, linestyle 参数,指定曲线的颜色,粗细,类型:

# 设置图像大小
f = plt.figure(figsize=(10,6), dpi=80)# 画图,指定颜色,线宽,类型
p = plt.plot(x, c, color="blue", linewidth=2.5, linestyle="-")
p = plt.plot(x, s, color="red",  linewidth=2.5, linestyle="-")# 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

也可以使用格式字符来修改参数:

# 设置图像大小
f = plt.figure(figsize=(10,6), dpi=80)# 画图,指定颜色,线宽,类型
p = plt.plot(x, c, 'b-', x, s, 'r-', linewidth=2.5)# 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

设置横轴纵轴的显示区域

可以使用 plt 中的 xlimylim 来设置坐标轴的显示区域:

# 设置图像大小
p = plt.figure(figsize=(10,6), dpi=80)# 画图,指定颜色,线宽,类型
p = plt.plot(x, c, 'b-', x, s, 'r-', linewidth=2.5)######################################################################### 设置显示范围
p = plt.xlim(x.min() * 1.1, x.max() * 1.1)
p = plt.ylim(c.min() * 1.1, c.max() * 1.1)######################################################################### 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

设置刻度

x 轴的刻度设为与 \piπ 有关的点,可以使用 plt 中的 xticksyticks 函数,将需要的刻度传入。

# 设置图像大小
f = plt.figure(figsize=(10,6), dpi=80)# 画图,指定颜色,线宽,类型
p = plt.plot(x, c, 'b-', x, s, 'r-', linewidth=2.5)# 设置显示范围
plt.xlim(x.min() * 1.1, x.max() * 1.1)
plt.ylim(c.min() * 1.1, c.max() * 1.1)############################################################################ 设置刻度
p = plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi])
p = plt.yticks([-1, 0, 1])############################################################################ 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

刻度显示数学公式

想让刻度的位置显示的是含有 π\piπ 的标识而不是浮点数,可以在 xticks 中传入第二组参数,这组参数代表对应刻度的显示标识。这里,使用 latex 的语法来显示特殊符号(使用 $$ 包围的部分)。

# 设置图像大小
f = plt.figure(figsize=(10,6), dpi=80)# 画图,指定颜色,线宽,类型
p = plt.plot(x, c, 'b-', x, s, 'r-', linewidth=2.5)# 设置显示范围
plt.xlim(x.min() * 1.1, x.max() * 1.1)
plt.ylim(c.min() * 1.1, c.max() * 1.1)# 设置刻度及其标识
p = plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], ['$-\pi$', '$-\pi/2$', '$0$', '$\pi/2$', '$\pi$'], fontsize ='xx-large')
p = plt.yticks([-1, 0, 1], ['$-1$', '$0$', '$+1$'], fontsize ='xx-large')# 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

移动坐标轴的位置

现在坐标轴的位置是在边界上,而且有上下左右四条,将下面和左边的两条移动到中间,并将右边和上面的两条去掉:

# 设置图像大小
f = plt.figure(figsize=(10,6), dpi=80)# 画图,指定颜色,线宽,类型
plt.plot(x, c, 'b-', x, s, 'r-', linewidth=2.5)# 设置显示范围
plt.xlim(x.min() * 1.1, x.max() * 1.1)
plt.ylim(c.min() * 1.1, c.max() * 1.1)# 得到轴的句柄
ax = plt.gca()
# ax.spines参数表示四个坐标轴线
# 将右边和上边的颜色设为透明
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')#################################################################################### 将 x 轴的刻度设置在下面的坐标轴上
ax.xaxis.set_ticks_position('bottom')
# 设置位置
ax.spines['bottom'].set_position(('data',0))# 将 y 轴的刻度设置在左边的坐标轴上
ax.yaxis.set_ticks_position('left')
# 设置位置
ax.spines['left'].set_position(('data',0))#################################################################################### 加入图例,frameon表示去掉图例周围的边框
l = plt.legend(['cosine', 'sine'], loc='upper left', frameon=False)#################################################################################### 设置刻度及其标识
p = plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], ['$-\pi$', '$-\pi/2$', '$0$', '$\pi/2$', '$\pi$'], fontsize ='xx-large')
p = plt.yticks([-1, 0, 1], ['$-1$', '$0$', '$+1$'], fontsize ='xx-large')# 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

注释特殊点

可以使用 anotate 函数来注释特殊的点,假设我们要显示的点是 2π/32\pi/32π/3:

# 设置图像大小
plt.figure(figsize=(10,6), dpi=80)# 画图,指定颜色,线宽,类型
plt.plot(x, c, 'b-', x, s, 'r-', linewidth=2.5)# 设置显示范围
plt.xlim(x.min() * 1.1, x.max() * 1.1)
plt.ylim(c.min() * 1.1, c.max() * 1.1)# 得到画图的句柄
ax = plt.gca()# ax.spines参数表示四个坐标轴线
# 将右边和上边的颜色设为透明
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')# 将 x 轴的刻度设置在下面的坐标轴上
ax.xaxis.set_ticks_position('bottom')
# 设置位置
ax.spines['bottom'].set_position(('data',0))# 将 y 轴的刻度设置在左边的坐标轴上
ax.yaxis.set_ticks_position('left')
# 设置位置
ax.spines['left'].set_position(('data',0))# 设置刻度及其标识
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], ['$-\pi$', '$-\pi/2$', '$0$', '$\pi/2$', '$\pi$'], fontsize ='xx-large')
plt.yticks([-1, 0, 1], ['$-1$', '$0$', '$+1$'], fontsize ='xx-large')# 加入图例,frameon表示图例周围是否需要边框
l = plt.legend(['cosine', 'sine'], loc='upper left', frameon=False)##################################################################################### 数据点
t = 2 * np.pi / 3# 蓝色虚线
plt.plot([t,t],[0,np.cos(t)], color ='blue', linewidth=2.5, linestyle="--")# 该点处的 cos 值
plt.scatter([t,],[np.cos(t),], 50, color ='blue')# 在对应的点显示文本
plt.annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$', # 文本xy=(t, np.sin(t)), # 数据点坐标位置xycoords='data',   # 坐标相对于数据xytext=(+10, +30), # 文本位置坐标textcoords='offset points', # 坐标相对于数据点的坐标fontsize=16,       # 文本大小arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) # 箭头# 红色虚线
p = plt.plot([t,t],[0,np.sin(t)], color ='red', linewidth=2.5, linestyle="--")# 该点处的 sin 值
p = plt.scatter([t,],[np.sin(t),], 50, color ='red')# 显示文本
p = plt.annotate(r'$\cos(\frac{2\pi}{3})=-\frac{1}{2}$',xy=(t, np.cos(t)), xycoords='data',xytext=(-90, -50), textcoords='offset points', fontsize=16,arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))###################################################################################### 在脚本中需要加上这句才会显示图像
plt.show()

在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...