第六章、坐标轴的定制

这篇具有很好参考价值的文章主要介绍了第六章、坐标轴的定制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

6.1、坐标轴概述
在绘制图表过程中,matplotlib会根据所绘图表的类型决定是否使用坐标系,或者显示哪种类型的坐标系。
坐标轴的结构相同,主要包括轴脊、刻度,其中刻度又可以细分为刻度线和刻度标签,刻度线又可以细分为主刻线和次刻线。坐标轴的各部分均是matplotlib类的对象:坐标轴是axis.Axis类的对象;轴脊是spines.Spines类的对象;刻度是axis.Ticker类对象。此外,常用的x轴是一个axis.Xaxis类的对象,y轴是一个axis.Yaxis类的对象。
访问spines属性后返回一个OrderedDict类的对象。OrderedDict类是dict的子类,它可以维护添加字典中的键值对的顺序。
6.2、向任意位置添加坐标轴
该函数常用参数的含义如下:
(1)参数arg支持None、4-tuple中任一取值;
(2)参数projection表示坐标轴的类型
(3)参数polar表示是否使用极坐标
(4)参数aspect表示坐标轴缩放的比例
(5)参数frame_on表示是否绘制每个坐标轴的轴脊
示例代码如下:
import matplotlib.pyplot as plt
ax=plt.axes((0.2,0.5,0.3,0.3))
ax.plot([1,2,3,4,5])
ax2=plt.axes((0.6,0.4,0.2,0.2))
ax2.plot([1,2,3,4,5])
plt.title(“2020080603051”)
plt.show()
第六章、坐标轴的定制
6.3、定制刻度的位置和格式
6.3.1、定制刻度位置和格式
在matplotlib中,刻度线分为主刻度和次刻度线,次刻度线默认是隐藏的。matplotlib.ticker模块中提供了两个类:Locator和Formatter,分别代表刻度定位器和刻度格式器,用于指定刻度线的位置和刻度标签的格式。
1、刻度定位器
Locator是刻度定位器的基类,它派生很多子类,可以自动调整刻度的间隔、选择刻度的位置。
2、刻度格式器
Formatter是刻度格式器的基类,它派生了很多子类,可以自动调整刻度标签的格式。
6.3.2、定制刻度的样式
在matplotlib中,坐标轴的刻度有着固定的样式,例如,刻度线的方向是朝外的,刻度线的颜色等。pyplot中可以使用tick_params()函数定制刻度的样式。
axis:表示选择操作的轴
reset:表示在处理其他参数之前均使用参数的默认值
which:表示刻度的类型
direction:表示刻度的方向
length:表示刻度线的长度
width:表示刻度线的宽度
pad:表示刻度线与刻度标签的距离
labelsize:表示刻度标签的字体大小
labelrotation:表示刻度标签旋转的角度

plt.tick_params(direction=‘in’,length=6,width=2,colors=‘orange’)
plt.title(“2020080603051”)
plt.show()
第六章、坐标轴的定制
6.3.3、实例1:深圳24小时的平均风速
代码如下:
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter,HourLocator
plt.rcParams[“font.sans-serif”]=[“SimHei”]
plt.rcParams[“axes.unicode_minus”]=False
dates=[‘201910240’,‘2019102402’,‘2019102404’,‘2019102406’,‘2019102408’,
‘2019102410’,‘2019102412’,‘2019102414’,‘2019102416’,‘2019102418’,
‘2019102420’,‘2019102422’,‘201910250’]
x_date=[datetime.strptime(d,‘%Y%m%d%H’) for d in dates]
y_date=np.array([7,9,11,14,8,15,22,11,10,11,11,13,8])
fig=plt.figure()
ax=fig.add_axes((0.0,0.0,1.0,1.0))
ax.plot(x_date,y_date,‘->’,ms=8,mfc=‘#FF9900’)
ax.set_title(‘51’)
ax.set_xlabel(‘时间’)
ax.set_ylabel(‘平均速度(km/h)’)
date_fmt=DateFormatter(‘%H:%M’)
ax.xaxis.set_major_formatter(date_fmt)
ax.xaxis.set_major_locator(HourLocator(interval=2))
ax.tick_params(direction=‘in’,length=6,width=2,labelsize=12)
ax.xaxis.set_tick_params(labelrotation=45)
plt.show()
第六章、坐标轴的定制
6.4 、隐藏轴脊
6.4.1、隐藏全部轴脊
on ;显示轴脊和刻度,等同于True
off:隐藏轴脊和刻度,等同于False
equal:通过更改轴限设置的等比例
scaled:通过更改绘图框的尺寸设置等比例
tight:设置足够大的限制以显示所有的数据
auto:自动缩放
示例代码如下:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
polygon=mpathes.RegularPolygon((0.5,0.5),6,0.2,color=‘orange’)
ax=plt.axes((0.3,0.3,0.5,0.5))
ax.add_patch(polygon)
ax.axis(‘off’)
plt.title(‘51’)
plt.show()
第六章、坐标轴的定制
6.4.2、隐藏部分轴脊
示例代码如下:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
polygon=mpathes.RegularPolygon((0.5,0.5),6,0.2,color=‘g’)
ax=plt.axes((0.3,0.3,0.5,0.5))
ax.add_patch(polygon)
ax.spines[‘top’].set_color(‘none’)
ax.spines[‘left’].set_color(‘none’)
ax.spines[‘right’].set_color(‘none’)
plt.title(‘51’)
plt.show()
第六章、坐标轴的定制
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
polygon=mpathes.RegularPolygon((0.5,0.5),6,0.2,color=‘pink’)
ax=plt.axes((0.3,0.3,0.5,0.5))
ax.add_patch(polygon)
ax.spines[‘top’].set_color(‘none’)
ax.spines[‘left’].set_color(‘none’)
ax.spines[‘right’].set_color(‘none’)
ax.yaxis.set_ticks_position(‘none’)
ax.set_yticklabels([])
plt.title(‘51’)
plt.show()
第六章、坐标轴的定制
6.4.3、实例2:平均风速(隐藏部分轴脊)
示例代码如下:
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter,HourLocator
plt.rcParams[“font.sans-serif”]=[“SimHei”]
plt.rcParams[“axes.unicode_minus”]=False
dates=[‘201910240’,‘2019102402’,‘2019102404’,‘2019102406’,‘2019102408’,
‘2019102410’,‘2019102412’,‘2019102414’,‘2019102416’,‘2019102418’,
‘2019102420’,‘2019102422’,‘201910250’]
x_date=[datetime.strptime(d,‘%Y%m%d%H’) for d in dates]
y_date=np.array([7,9,11,14,8,15,22,11,10,11,11,13,8])
fig=plt.figure()
ax=fig.add_axes((0.0,0.0,1.0,1.0))
ax.plot(x_date,y_date,‘->’,ms=8,mfc=‘#FF9900’)
ax.set_title(‘51’)
ax.set_xlabel(‘时间’)
ax.set_ylabel(‘平均速度(km/h)’)
date_fmt=DateFormatter(‘%H:%M’)
ax.xaxis.set_major_formatter(date_fmt)
ax.xaxis.set_major_locator(HourLocator(interval=2))
ax.tick_params(direction=‘in’,length=6,width=2,labelsize=12)
ax.xaxis.set_tick_params(labelrotation=45)
ax.spines[‘top’].set_color(‘none’)
ax.spines[‘right’].set_color(‘none’)
plt.show()
第六章、坐标轴的定制
6.5、移动轴脊
6.5.1、移动轴脊的位置
outward:表示将轴脊置于移出数据区域指定点数的位置
axes:表示将轴脊置于指定的坐标系中
data:表示将轴脊置于指定数据坐标的位置
center:值为axes
zero:值为data
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
xy=np.array([0.5,0.5])
polygon=mpathes.RegularPolygon(xy,6,0.2,color=‘skyblue’)
ax=plt.axes((0.3,0.3,0.5,0.5))
ax.add_patch(polygon)
ax.spines[‘top’].set_color(‘none’)
ax.spines[‘right’].set_color(‘none’)
ax.spines[‘left’].set_position((‘data’,0.5))
ax.spines[‘bottom’].set_position((‘data’,0.5))
plt.title(‘51’)
plt.show()
第六章、坐标轴的定制
6.5.2、实例3:正弦与余弦曲线
正弦曲线和余弦曲线都属于周期性波浪线,他们在一个2π周期内重复出现。下面以numpy生成100个位于-2np.pi和2np.pi之间的等差数列为例,分别求等差数列中各个数值的正弦值和余弦值,并根据这些正弦值和余弦值绘制曲线。
代码如下:
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams[“font.sans-serif”]=[“SimHei”]
plt.rcParams[“axes.unicode_minus”]=False
x_data=np.linspace(-2np.pi,2np.pi,100)
y_one=np.sin(x_data)
y_two=np.cos(x_data)
fig=plt.figure()
ax=fig.add_axes((0.2,0.2,0.7,0.7))
ax.plot(x_data,y_one,label=‘正弦曲线’)
ax.plot(x_data,y_two,label=‘余弦曲线’)
ax.legend()
ax.set_xlim(-2np.pi,2np.pi)
ax.set_xticks([-2np.pi,-3np.pi/2,-1np.pi,-1np.pi/2,
0,np.pi/2,np.pi,3np.pi/2,2np.pi])
ax.set_xticklabels([‘ − 2 π -2\pi 2π’,‘ − 3 π / 2 -3\pi/2 3π/2’,‘ − π -\pi π’,‘ − π / 2 -\pi/2 π/2’,
0 0 0’,‘ π / 2 \pi/2 π/2’,‘ / p i / 2 /pi/2 /pi/2’,‘ 3 π / 2 3\pi/2 3π/2’,‘ 2 π 2\pi 2π’,])
ax.set_yticks([-1.0,-0.5,0.0,0.5,1.0])
ax.set_yticklabels([-1.0,-0.5,0.0,0.5,1.0])
ax.spines[‘top’].set_color(‘none’)
ax.spines[‘right’].set_color(‘none’)
ax.spines[‘left’].set_position((‘data’,0.5))
ax.spines[‘bottom’].set_position((‘data’,0.5))
plt.title(‘51’)
plt.show()
第六章、坐标轴的定制文章来源地址https://www.toymoban.com/news/detail-457760.html

到了这里,关于第六章、坐标轴的定制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python绘制子图技巧——plt.subplot和plt.subplots、及坐标轴修改

    偶然发现 python(matplotlib) 中绘制子图有两种方法,一种是 plt.subplot ,另一种是 plt.subplots ,这篇博客说一下这两种方法的区别,用法,以及常用的一些函数。 plt.figure 的作用是定义一个大的图纸,可以设置图纸的大小、分辨率等,例如 plt.plot() 是直接在当前活跃的的axes上面

    2023年04月09日
    浏览(41)
  • VTK OrientationMarker 方向 三维坐标系 相机坐标轴 自定义坐标轴

    本文 以 Python 语言开发 我们在做三维软件开发时,经常会用到相机坐标轴,来指示当前空间位置; 坐标轴效果: 相机方向坐标轴  Cube 正方体坐标轴  自定义坐标轴: Code: Axes CameraOrientationWidget OrientationMarkerWidget custom OrientationMarker

    2024年02月06日
    浏览(53)
  • matlab绘图修改坐标轴数字字体大小及坐标轴自定义间隔设置

    一、背景 在matlab使用plot函数绘图后,生成的图片坐标轴数字字体大小及间隔可能并不符合我们的要求,因此需要自定义修改,具体方法如下 二、修改坐标轴数字字体大小 只需添加以下命令即可: 不仅可以修改坐标轴数字字体大小,还可以修改字体类型 三、自定义坐标轴间

    2024年01月15日
    浏览(79)
  • Python Axes3D自制坐标轴(没办法俺不知道咋移动坐标轴,但是不移动坐标轴画图太难看了)

       因为很不巧用Axes3D自带的坐标轴画出来图有点丑,首先ticklabels离坐标轴有点远。其次想正负值都能显示。就在想能不能把轴往上移一下,同时拉近ticklabels和坐标轴的距离。    博主主要是发现了用ax.axis(‘off’)或者ax1.set_axis_off()可以达到把坐标轴全部关掉的效果,如下

    2024年02月15日
    浏览(41)
  • matlab设置坐标轴的坐标显示范围和刻度

    所用代码: 逐个演示代码结果:   参考资料: matlab设置x轴和y轴的坐标显示范围和刻度_matalb的极坐标图如何将坐标标出来_phymat.nico的博客-CSDN博客

    2024年02月09日
    浏览(72)
  • MATLAB: 调整坐标轴范围

    MATLAB: 调整坐标轴范围 在MATLAB中,可以使用一些方法来设置坐标轴的范围。通过调整坐标轴范围,可以改变绘图的可视化效果,并突出显示感兴趣的数据。本文将介绍一些常用的方法和示例代码。 使用axis函数设置坐标轴范围 axis函数是MATLAB中常用的设置坐标轴的函数之一。它

    2024年02月06日
    浏览(44)
  • 采用VMD按照某一坐标轴旋转坐标结构

    关注 M r . m a t e r i a l   , color{Violet} rm Mr.material , Mr.material   , 更 color{red}{更} 更 多 color{blue}{多} 多 精 color{orange}{精} 精 彩 color{green}{彩} 彩 ! 主要专栏内容包括:   †《LAMMPS小技巧》: ‾ textbf{ underline{dag《LAMMPS小技巧》:}}   † 《 LAMMPS 小技巧》: ​ 主要介绍采

    2024年02月13日
    浏览(36)
  • 3Ds Max坐标轴切换,使用物体的世界坐标和本地坐标之间切换

    官方文档 官方文档 使用“参考坐标系”列表,可以指定变换(移动、旋转和缩放)所用的坐标系。选项包括“视图”、“屏幕”、“世界”、“父对象”、“局部”、“万向”,“栅格”、“工作”和“拾取”。 主工具栏 “参考坐标系”下拉菜单 在“屏幕”坐标系中,所

    2024年02月12日
    浏览(48)
  • python matplotlib笔记:坐标轴设置

    ax.xlim():设置x坐标轴范围 ax.ylim():设置y坐标轴范围 ax.xlabel():设置x坐标轴名称 ax.ylabel():设置y坐标轴名称 ax.xticks():设置x轴刻度 ax.yticks():设置y轴刻度 gca():获取当前坐标轴信息 ax.spines:设置边框 ax.set_color:设置边框颜色:默认白色 ax.spines:设置边框 ax…xaxis.set_ticks_position:设置x坐标

    2024年02月09日
    浏览(39)
  • Matlab中如何调整坐标轴刻度

    Matlab中如何调整坐标轴刻度 在Matlab中,我们经常需要对绘图中的坐标轴刻度进行调整,以便更好地展示数据。本文将介绍如何使用Matlab来调整坐标轴刻度,并提供相应的源代码示例供参考。 Matlab提供了多种方法来调整坐标轴刻度。下面我们将介绍其中的两种常用方法:手动

    2024年02月05日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包