3.3 设置坐标轴的长度和范围

3.3 设置坐标轴的长度和范围

前阵子在跟着课程学习springboot项目,所以以及有好几天没有学习python了,哈哈哈哈~现在的话尽可能每天都合理安排一下学习规划才行。今天将会学习一些与坐标轴范围和长度相关的属性。因为比较简单,所以我们可以直接在控制台上测试运行


工作准备:需要导入这个模块:import matplotlib.pylab as plt

(1)我们用坐标轴的不同属性来测试看看

  • 调用不带参数的axis():plt.axis()
    输出结果如下:在这里插入图片描述
    在交互模式下:
    3.3 设置坐标轴的长度和范围_第1张图片
    因为在交互模式下,所以显示只有坐标轴的空白图

  • 这里的值分别表示xmin、xmax、ymin和ymax。同样,我们可以设置x轴和y轴的值。

l=[-1,1,-10,10]
plt.axis(l)
Out[7]: (-1.0, 1.0, -10.0, 10.0)

交互模式下:
3.3 设置坐标轴的长度和范围_第2张图片
(2)说明

1、如果不使用axis()或者其他参数设置,matplotlib会自动使用最小
值,刚好可以让我们在一个图中看到所有的数据点
2、如果设置 axis()的范围比数据集合中的最大值小,matplotlib按照设置执行,这样就无法在图中看到所有的数据点
3、因此,为了避免这种情况发生的一种方法是调用
autoscale()(matplotlib.pyplot.autoscale()) 方法,该方法会计算坐标轴的最佳大小以适应数据的显示

(3)如果我们想对当前图形添加一条直线,我们可以调用matplotlib.pyplot.axhline()或者 matplotlib.pyplot.axvline()

  • axhline()和axvline()方法会根据给定的x和y值相应地绘制出相对于坐标轴的水平线和垂直线
  • axhline()方法

比较重要的参数是y 向位置、xmin 和 xmax

  • axvline()方法

比较重要的参数是 x向位置、ymin和ymax

  • 我们来测试一下
l=[-1,1,-10,10]
plt.axhline()
plt.axvline()
plt.axis(l)
Out[11]: (-1.0, 1.0, -10.0, 10.0)
Out[12]: <matplotlib.lines.Line2D at 0x13ca86fda90>

3.3 设置坐标轴的长度和范围_第3张图片

plt.axhline(4)
Out[13]: <matplotlib.lines.Line2D at 0x13ca870d048>

3.3 设置坐标轴的长度和范围_第4张图片
由上面两幅图的对比我们可以知道,在调用这些方法的时候如果不传入参数,就是使用默认值

axhline()绘制了一条y=0的水平线
axvline()绘制了一条x=0的垂直线。

  • 类似地,另外两个相关的方法允许我们添加一个跨坐标轴的水平带(矩形)matplotlib.pyplot.axvspan()

1、axhspan()方法必需的ymin和ymax参数指定了水平带的宽度。同理
2、axvspan()方法必需的xmin和xmax参数指定了垂直带的宽度

  • 测试plt.axvspan(0.3,0.4)

3.3 设置坐标轴的长度和范围_第5张图片
(4)图形中的网格属性默认是关闭的,但可以很简单地打开和定制化。不带参数调用matplotlib.pyplot.grid()会切换网格的显示状态。

plt.grid()

3.3 设置坐标轴的长度和范围_第6张图片

(5)另外一些控制参数如下:

  • which:指定绘制的**网格刻度类型(**major、minor 或者 both)
  • axis:指定绘制哪组网格线

你可能感兴趣的:(Python数据可视化,python,数据分析)