Matplotlib格式化轴详细操作教程
有时候一个或几个点比大量数据大得多。在这种情况下,轴的比例需要设置为对数(log)而不是正常比例。这是对数标度。在Matplotlib中,可以通过将axes对象的xscale或vscale属性设置为log。
有时还需要在轴编号和轴标签之间显示一些额外的距离。任一轴(x或y或两者)的labelpad属性都可以设置为所需的值。
在以下示例的帮助下演示了上述两个功能。右边的子图具有对数刻度,左边的一个子图的x轴具有更远距离的标签。
参考以下示例代码:
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.nhooo.com # Date : 2020-08-08 #! /usr/bin/env python #coding=utf-8 import matplotlib.pyplot as plt import numpy as np import math # 显示中文设置... plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体) plt.rcParams['axes.unicode_minus'] = False # 步骤二(解决坐标轴负数的负号显示问题) fig, axes = plt.subplots(1, 2, figsize=(10,4)) x = np.arange(1,5) axes[0].plot( x, np.exp(x)) axes[0].plot(x,x**2) axes[0].set_title("正常比例") axes[1].plot (x, np.exp(x)) axes[1].plot(x, x**2) axes[1].set_yscale("log") axes[1].set_title("对数刻度(y)") axes[0].set_xlabel("x 轴") axes[0].set_ylabel("y 轴") axes[0].xaxis.labelpad = 10 axes[1].set_xlabel("x 轴") axes[1].set_ylabel("y 轴") plt.show()
执行上面示例代码,得到以下结果 -
轴尖端是连接轴刻度线的线,划分绘图区域的边界。轴对象的尖端位于顶部,底部,左侧和右侧。每个尖端可以通过指定颜色和宽度进行格式化。如果任何边缘的颜色设置为无,则可以使其不可见。
参考示例代码:
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.nhooo.com # Date : 2020-08-08 #! /usr/bin/env python #coding=utf-8 import matplotlib.pyplot as plt import numpy as np import math # 显示中文设置... plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体) plt.rcParams['axes.unicode_minus'] = False # 步骤二(解决坐标轴负数的负号显示问题) fig = plt.figure() ax=plt.subplot(111) ax.spines['bottom'].set_color('blue') ax.spines['left'].set_color('red') ax.spines['left'].set_linewidth(2) ax.spines['right'].set_color(None) ax.spines['top'].set_color(None) ax.plot([1,2,3,4,5]) plt.show()#