找回密码
 会员注册
查看: 19|回复: 0

python之matplotlib(3坐标轴设置)

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-6 15:20:55 | 显示全部楼层 |阅读模式
写在前面在说明坐标轴设置之前,我有必要和大家说清楚图像设置的一些方法,避免陷入困扰模糊的地步。前面我们说过,画图的三种方法(python之matplotlib(1介绍及基本用法)-CSDN博客)。而设置也是在此的基础上进行的:importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltx=np.arange(1,11)y=x**2plt.figure()plt.plot(x,y)plt.xlim(0,15)plt.ylim(0,200)plt.xticks(range(0,15))plt.yticks(range(1,200,10))plt.xlabel('')plt.ylabel('')plt.title('图')fig=plt.figure()ax=plt.gca()#没有参数#fig,ax=plt.subplots()ax.plot(x,y)ax.set_xlim(0,15)ax.set_ylim(0,200)ax.set_xticks(range(0,15))ax.set_yticks(range(1,200,10))ax.set_xlabel('')ax.set_ylabel('')ax.set_title('figure')plt.show()大家观察上面的一些设置方法,无非是通过两个途径:plt.***或者ax.***,而ax.***往往前面会有'set_'字样。举个例子:plt.xticks和ax.set_xticks这两个功能是一样的,虽然plt.xticks没有说明是对哪一个坐标轴进行设置,但是他默认在哪一个plt.figure下,就是对所在的figure中的坐标轴进行设置。坐标轴设置坐标刻度importmatplotlib.pyplotaspltimportnumpyasnpx=np.arange(1,11)y=x+2fig=plt.figure()ax=plt.gca()ax.plot(x,y)ax.set_ylim((1,15))ax.set_ylabel('y')ax.set_xlim((0,12))ax.set_xlabel('x')ax.set_xticks(range(0,12,1))ax.set_yticks([4,7,10,14],['$very\low,'$low,'$high,'$very\high])plt.show()设置坐标轴的标签label为set_xlabel和set_ylabel,设置坐标展示的范围是ax.set_ylim(y轴)和ax.set_xlim(x轴),传递的参数是一个元组(也可以是两个标量即ax.set_ylim(1,15) );而ax.set_yticks是设置y轴刻度,这里我设置了四个标准量度,第一个参数是列表,分别为四个量度标注的位置;第二个参数就是四个量度的名字,这里我使用的是latex的方式,短空格是‘\',当然大家也可以直接输入一系列字符串。坐标轴的消除与移动importmatplotlib.pyplotaspltimportnumpyasnpx=np.arange(1,11)y=x+2fig=plt.figure()ax=plt.gca()ax.plot(x,y)ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['bottom'].set_position(('data',2))ax.spines['left'].set_position(('data',6))plt.show()在Matplotlib中,axes对象的spines属性提供了对坐标轴边界线(也称为“脊柱线”或“边框线”)的访问。这些脊柱线通常指的是坐标轴上的四条线:左侧(left)、右侧(right)、顶部(top)和底部(bottom)。通过修改这些脊柱线的位置,你可以改变坐标轴的外观,比如将它们移动到中心位置,或者完全隐藏它们。而隐藏他们就是set_color('none'),虽然说是在设置颜色,但是后边的参数none让他没有了颜色,也就是消失了。而set_position是设置轴的位置,传递的参数是一个元组:(’data',数据)次坐标轴importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0,1,10)y=x**2fig,ax1=plt.subplots()ax2=ax1.twinx()ax1.plot(x,x,'k-')ax1.set_ylabel('figure1')ax2.plot(x,y,color='b')ax2.set_ylabel('figure2',color='b')plt.show()绘制次坐标轴的关键是ax2=ax1.twinx(),意思为创建另一个坐标轴体系,但是和ax1公用一个x轴。创作匆忙,如有错误请不吝赐教。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 05:39 , Processed in 0.418716 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表