Matplotlib 与数据区图像相对位置移动坐标轴位置

Matplotlib 移动坐标轴位置学习了根据数据在坐标轴上表示的位置来调整坐标轴的位置,这是移动坐标轴的第一种方式,接着下来介绍第二种方式,如果没有看过前文,建议先查看前面的文章,否则看本文就有点云里雾里,总是身在此山中不知在何处。

第二种方式是采用与数据区图像相对位置来定位的方式来移动,比如左边的坐标轴要离图像数据区30个像素点,那么就可以写成这样:("outward", 30)。如果想左边的坐标轴靠近图像数据区30个像素点呢?也非常简单只需要把30改为-30即可:("outward", -30)。同理,就可以更改下面的坐标轴了。可以把前面的例子修改一下,结果显示如下:

Matplotlib 与数据区图像相对位置移动坐标轴位置

可以看到左边的坐标轴离开数据区显示的图像,下面的坐标轴向上移动了,更加靠近显示区域。就是通过下面两行代码实现:

ax.spines['left'].set_position(("outward", 30))
ax.spines['bottom'].set_position(("outward", -20))

整个例子的完整代码如下:



import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter, MaxNLocator

#
fig, ax = plt.subplots()  #创建子图

#
x = np.linspace(0, 4*np.pi, 200)
y = np.sin(x)

#
ax.plot(x, y, lw = 3, color = 'b')


#隐藏右边和上边
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)

#
ax.spines['left'].set_position(("outward", 30))
ax.spines['bottom'].set_position(("outward", -20))

plt.show()

最后来介绍第三种移动方式,就是按坐标轴的长度来定位原点,比如把X轴的长度当作1,那么0到1之间,就是坐标轴长度的位置,相当于百分比,0.1就相当于在坐标轴10%的位置,0.5就是坐标轴一半的位置,即是50%。同理,Y轴的位置也是按这样来设置的。采用("axes", 0.5)的方式,就是按坐标轴的长度来移动坐标轴,结果如下图:

Matplotlib 与数据区图像相对位置移动坐标轴位置

整个例子的代码如下:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter, MaxNLocator


#
fig, ax = plt.subplots()  #创建子图

#
x = np.linspace(0, 4*np.pi, 200)
y = np.sin(x)

#
ax.plot(x, y, lw = 3, color = 'b')

#隐藏右边和上边
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)

#
ax.spines['left'].set_position(("axes", 0.5))
ax.spines['bottom'].set_position(("axes", 0.5))

plt.show()

通过前面三种方式的介绍,可以选择任何一种方式来移动坐标轴,关键看你自己对坐标轴那种方式比较容易让曲线显示更好看,或者说那种方式更容易定位。

基于上面几中方式,matplotlib定义了两个宏串来代表下面两种情况:

'center' -> ('axes', 0.5)
'zero' -> ('data', 0.0)

意思就是说,当调用函数set_position('center')实现的功能,与调用函数set_position(("axes", 0.5))相当。

到这里,就已经把三种移动坐标轴的方式介绍完了,如果还有什么不懂的地方,请留言。

赞(0)
未经允许不得转载:极客笔记 » Matplotlib 与数据区图像相对位置移动坐标轴位置

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
Matplotlib 入门
Matplotlib 入门Matplotlib 安装之Linux操作系统Matplotlib 安装之Windows系统Matplotlib 安装之Mac OS X系统Matplotlib 安装之使用 Windows Installer安装程序Matplotlib 使用*.whl文件快速安装Matplotlib 绘图区域Matplotlib 设置绘图区域大小Matplotlib 网格线的颜色和刻度Matplotlib 坐标轴的标签和标题Matplotlib 指南Matplotlib pyplot指南
Matplotlib 几何图形
Matplotlib 画直线Matplotlib 图形失真Matplotlib 画圆弧示意图Matplotlib 用直线方式画圆Matplotlib 画椭圆示意图Matplotlib 画旋转向量示意图Matplotlib 使用patches绘制几何图形Matplotlib 使用模块patches的Wedge实现饼图Matplotlib 嵌套子图显示Matplotlib 两个子图显示
Matplotlib 颜色
Matplotlib 颜色Matplotlib 多边形颜色填充Matplotlib 不规则颜色填充Matplotlib 条件选择区域颜色填充
Matplotlib 坐标轴
Matplotlib 辅助指示坐标轴Matplotlib 公式显示Matplotlib 显示数学曲线Matplotlib 同一坐标里显示多条曲线Matplotlib 同一坐标里双Y轴显示Matplotlib 双Y轴显示时把图例显示到一起Matplotlib 三个Y轴显示Matplotlib 隐藏刻度方式显示三个Y轴Matplotlib 四个Y轴显示Matplotlib 一元线性回归显示Matplotlib X轴日期显示Matplotlib X轴年份采用四位显示Matplotlib X轴按小时显示Matplotlib X轴设置为弧度坐标Matplotlib X轴显示角度Matplotlib X轴显示特殊的标签Matplotlib 移动坐标轴位置Matplotlib 与数据区图像相对位置移动坐标轴位置
Matplotlib 函数
Matplotlib 函数plot 展现变量的趋势变化Matplotlib 函数plot 创建带文本标签的折线图Matplotlib 函数scatter 寻找变量之间的关系Matplotlib 函数xlim 设置x轴的数值显示范围Matplotlib 函数xlabel 设置x轴的标签文本Matplotlib 函数grid 绘制刻度线的网格线Matplotlib 函数axhline 绘制平行于x轴的水平参考线Matplotlib 函数axvspan 绘制垂直于x轴的参考区域Matplotlib 函数annotate 添加图形内容细节的指向型注释文本Matplotlib 函数text 添加图形内容细节的无指向型注释文本Matplotlib 函数title 添加图形内容的标题Matplotlib 函数legend 标示不同图形的文本标签图例Matplotlib 函数bar 用于绘制柱状图Matplotlib 函数barh 用于绘制条形图Matplotlib 函数hist 用于绘制直方图Matplotlib 函数pie 用于绘制饼图Matplotlib 函数polar 用于绘制极线图Matplotlib 函数scatter 用于绘制气泡图Matplotlib 函数stem 用于绘制棉棒图Matplotlib 函数boxplot 用于绘制箱线图Matplotlib 函数errorbar 用于绘制误差棒图Matplotlib 函数subplots和函数subplot区别
Matplotlib 动画和视频
Matplotlib ffmpeg安装Matplotlib 基本动画过程Matplotlib FuncAnimation方式创建动画Matplotlib ArtistAnimation方式创建动画Matplotlib 绘制一条螺旋曲线Matplotlib 输出gif文件Matplotlib 调用ImageMagick输出gif文件
Matplotlib 3D
Matplotlib 3D的坐标系Matplotlib 绘制3D图像
Matplotlib 导入导出
Matplotlib 保存绘图结果为PDF文件
Matplotlib 画线
Matplotlib 画线