使用向任意位置添加坐标轴,定制刻度,隐藏上、右轴脊来绘制折线图

您所在的位置:网站首页 控制点怎么画在纸上 使用向任意位置添加坐标轴,定制刻度,隐藏上、右轴脊来绘制折线图

使用向任意位置添加坐标轴,定制刻度,隐藏上、右轴脊来绘制折线图

2024-07-06 15:21:30| 来源: 网络整理| 查看: 265

需求:                                                                运行效果图:

想要在任意位置添加坐标系,首先需要认识axes()函数,下面就来介绍这个函数

matplotlib支持画布的任意位置添加自定义大小的坐标系统,同时显示坐标轴,而不再受规则区域的限制。pyplot模块可以使用axes()函数来创建一个Axes()类的对象,并将这个对象添加到当前的画布中,axes()函数语法如下:

axes(arg=None,projection=None,polar=False,aspect,frame_on,**kwargs)

参数含义如下:

arg:这个参数可以有两种取值,一种是None,另一种时4-tuple。当值为None时,表示使用subplot(111)添加的与画布等同大小的Axes对象;当值为4-tuple时,表示用这个值来自定义控制坐标系的位置和大小,它是由4个浮点型元素(取值范围为0~1)组成的元组(left,bottom,width,height)。"left,bottom"这两个数可以理解为坐标系的左下方的角的坐标,left表示横坐标,可以控制坐标系的左右位置;bottom表示纵坐标,可以控制坐标系的上下位置。“width,height”这两个数可以控制坐标系的大小,width表示坐标系的宽度,height表示坐标系的高度。

projection:表示坐标系的类型,它的值可以是None、'aitoff'、'hammer'、'lambert'、'mollweide'、'polar'或'rectilinear'中任一取值,也可以使用自定义的类型

polar:表示使用极坐标,若设为True,则其作用等价于projection='polar'

aspect:表示坐标轴的比例,可接收'auto','equal',num中任一取值。默认为'auto',表示长方形;'equal'表示正方形;num表示一个纵轴比横轴的浮点数,例如num=2,表示y轴的占比为2,横轴的占比为1。

frame_on:表示是否显示每个坐标轴的轴脊

在需求(1)中需要距离画布顶部0.2(应该是底部)、左侧0.2的位置上添加一个宽度为0.5、高度为0.5的绘图区域

代码如下

ax = plt.axes((0.2, 0.2, 0.5, 0.5),aspect=2)

在需求(2)需要为x轴添加刻度标签,同时结合效果图,可以知道刻度标签有轻微的旋转,大约是15度左右,在需求(3)需要将刻度线调为方向向内,宽度为2,长度为8的样式,下面先来讲述用法,然后讲述代码

刻度标签语法:

matplotlib.pyplot.xticks(ticks=None, labels=None, *, minor=False, **kwargs)

参数说明: ticks:表示显示刻度位置的列表,该参数可以设置空列表,以此禁用x轴的刻度 labels:表示对ticks位置过刻度添加标签的列表

在matplotlib中,坐标轴的刻度有着固定的样式,例如,刻度线的方向是朝外的,刻度线的颜色是黑色等。pyplot中可以使用tick_params()函数定制刻度的样式。tick_params()函数的语法格式如下: tick_params(axis='both',**kwargs) 该函数的常用参数的含义如下。 axis:表示选择操作的轴,可以取值为‘x'、'y'或"both',默认为"both'。 reset:若设为True,表示在处理其他参数之前均使用参数的默认值。 which:表示刻度的类型,可以取值为'major'、'minor'或"both',默认为'major'。direction:表示刻度线的方向,可以取值为'in'(表示刻度线朝内)、'out'(表示朝外)或'inout'(表示刻度线处于中间)。 length:表示刻度线的长度。 width:表示刻度线的宽度。 color:表示刻度线的颜色。 pad:表示刻度线与刻度标签的距离。 labebsize:表示刻度标签的字体大小。 labelcolor:表示刻度标签的颜色。 bottom, top, left, right:表示是否显示下方、上方、左侧、右侧的刻度线。 labelbottom, labeltop,labelleft, labelright:表示是否显示下方、上方、左侧、右侧的刻度标签。 labelrotation:表示刻度标签旋转的角度

代码如下

weekday_data=['周一', '周二', '周三', '周四', '周五', '周六', '周日'] plt.xticks(x_data,labels=weekday_data) ax.tick_params(axis='x', direction='in', length=8, width=2,labelrotation=15)

在需求(4)中需要隐藏坐标轴的上轴脊和右轴脊,下面先来介绍用法,再来写代码

matplotlib可以只隐藏坐标轴的部分轴脊,只需要访问spines属性获取相应的轴脊,之后调用set_color()方法将轴脊的颜色设为none

代码如下

ax.spines['top'].set_color('none') ax.spines['right'].set_color('none')

仔细观察效果图发现,还有一些组件的元素要添加上去,例如,折线图的color是洋红色(m),marker是实心点(o),同时这个实心点的大小设置了15,linestyle是实线(-),添加了x和y轴的标签且字体大小大约都为15,其中y轴的标签旋转了90度,也就是将rotation参数的值设置为 'horizontal',并且将标签到轴脊的距离设置为30左右.

下面是完整代码

# matplotlib中文网 https://www.matplotlib.org # 需求一:绘制某股票一周内收盘价折线图(见运行结果展示图) import numpy as np import matplotlib.pyplot as plt # 0.设置中文黑体 plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False # 1.准备数据 x_data = np.arange(1,8,1) y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08] # 周末休市 weekday_data=['周一', '周二', '周三', '周四', '周五', '周六', '周日'] # 2.创建画布和坐标系 ax = plt.axes((0.2, 0.2, 0.5, 0.5)) # 3.绘图 plt.plot(x_data,y_data,'mo-',markersize=15) # 4.定制刻度 plt.xticks(x_data,labels=weekday_data) ax.tick_params(axis='y', direction='in', length=8, width=2) ax.tick_params(axis='x', direction='in', length=8, width=2,labelrotation=15) # 5.设置轴标签 plt.xlabel('周日期',fontdict={'fontsize':15}) plt.ylabel('收盘价($¥$)',rotation='horizontal',labelpad=30,fontdict={'fontsize':15}) # 6.隐藏上轴脊和右轴脊 ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') # 7.展示图表 plt.show()

运行后的效果图



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭