旧时王谢堂前燕,飞入寻常百姓家。
前言
1. 概述
(1) 学习Axes子图形边框基本属性设置。
(2) 学习Axis坐标轴基本属性设置。
2. 版本
2.1 山东青岛,2021年5月8日,Version 1
3. 参考资料
[1]. matplotlib官方文档
一、边框属性设置和坐标轴属性设置范例1
1. 这一部分实现:
- 设置边框的颜色
- 设置坐标轴标签的颜色、朝向
- 设置坐标轴名称的字体格式,包括:大小,颜色和字体
- 设置坐标轴标签标注的字体格式,包括:大小,颜色和字体
2. 代码示例和运行结果
- 代码示例
# 1. 相关包的导入
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# 2. 部分制图参数预设
# 用于正常显示中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用于正常显示负号
plt.rcParams['axes.unicode_minus'] = False
# 3. 创建制图数据
x = np.linspace(-5,5,100)
y1 = x**2
y2 = x**3
# 4. 制图
# 4.1 创建制图对象,1个figue对象和1个axes子图对象
figure,axes_1 = plt.subplots(1,1,figsize=(3,3),dpi=600)
# 4.2 绘制(x,y1)
y1_line, = axes_1.plot(x,y1,linestyle=':',color='b')
axes_1.set_xlabel('$x$', # 设置x轴名称
fontsize=12 # 设置x轴字体大小
)
axes_1.set_ylabel('$x^{2}$', # 设置y轴名称
fontsize=12 # 设置y轴字体大小
)
# axes_1的x轴和y轴显示范围设置
axes_1.axis([-6,6,-1,26])
# axes_1的x轴参数设置
axes_1.tick_params(axis='x',
labelsize=9, # y轴字体大小设置
color='k', # y轴标签颜色设置
labelcolor='k', # y轴字体颜色设置
direction='in' # y轴标签方向设置
)
# axes_1的x轴字体设置
x1_label = axes_1.get_xticklabels()
[x1_label_temp.set_fontname('Times New Roman') for x1_label_temp in x1_label]
# axes_1的y轴参数设置
axes_1.tick_params(axis='y',
labelsize=9, # y轴字体大小设置
color='r', # y轴标签颜色设置
labelcolor='b', # y轴字体颜色设置
direction='in' # y轴标签方向设置
)
# axes_1的y轴字体设置
y1_label = axes_1.get_yticklabels()
[y1_label_temp.set_fontname('Times New Roman') for y1_label_temp in y1_label]
# 4.3 绘制(x,y2),双y轴绘制
axes_2 = axes_1.twinx()
y2_line, = axes_2.plot(x,y2,linestyle='--',color='r')
axes_2.set_ylabel('$x^{3}$', # 设置y轴名称
fontsize=12, # 设置y轴名称的字体大小
color = 'r', # 设置y轴名称的颜色
)
# axes_2的x轴和y轴显示范围设置
axes_2.axis([-6,6,-130,130])
# axes_2的y轴参数设置
axes_2.tick_params(axis='y',
labelsize=9, # y轴字体大小设置
color='r', # y轴标签颜色设置
labelcolor='r', # y轴字体颜色设置
direction='in' # y轴标签方向设置
)
# axes_2的y轴字体设置
y2_label = axes_2.get_yticklabels()
[y2_label_temp.set_fontname('Times New Roman') for y2_label_temp in y2_label]
# axes_2的右侧y轴颜色设置
axes_2.spines['right'].set_color('red')
# 4.4 添加图例
figure.legend([y1_line,y2_line],['$x^{2}$','$x^{3}$'],ncol = 2,
loc='upper center',bbox_to_anchor=(0.5,1),bbox_transform=axes_2.transAxes)
plt.show()
- 运行结果