当前位置: 首页 > news >正文

python之matplotlib (3 坐标轴设置)

写在前面

在说明坐标轴设置之前,我有必要和大家说清楚图像设置的一些方法,避免陷入困扰模糊的地步。前面我们说过,画图的三种方法(python之matplotlib (1 介绍及基本用法)-CSDN博客)。而设置也是在此的基础上进行的:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(1,11)
y=x**2
plt.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中的坐标轴进行设置。

坐标轴设置

坐标刻度

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,11)
y=x+2

fig=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的方式,短空格是‘\ ',当然大家也可以直接输入一系列字符串。

坐标轴的消除与移动

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,11)
y=x+2

fig=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',数据)

创作匆忙,如有错误请不吝赐教。

相关文章:

  • 听说部门来了个00后测试开发,一顿操作给我整懵了
  • 回不去的旧时光---老屋秋思
  • [C++游戏开发] 超大地图多人在线扫雷
  • HarmonyOS 开发
  • Redis常见的数据类型和应用场景
  • Android 12系统源码_多屏幕(二)模拟辅助设备功能开关实现原理
  • Android架构组件中的MVVM
  • http 请求-04-promise 对象 + async/await 入门介绍
  • 启动之旅:手把手教你在汇编中实现操作系统引导
  • Mybatis的一些常用知识点(面试)
  • c++学习
  • 搜维尔科技:正在使用Faceware面部表情捕捉系统实时给影视角色配音
  • 坐牢第二十七天(聊天室)
  • Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)
  • 二叉树(三)
  • 继承的多种方式
  • Taro+Vue 创建微信小程序
  • 蓝桥杯编程题讲解
  • pytorch自动微分
  • 【数学建模】MATLAB快速入门
  • 强沙尘暴压城近万名游客被困,敦煌如何用3小时跑赢12级狂风?
  • 山大齐鲁医院护士论文现“男性确诊子宫肌瘤”,院方称将核实
  • 多地政府机关食堂五一“开门迎客”:怎么看这场“宠粉”大戏
  • 李在明涉嫌违反《公职选举法》案将于15日进行首次重审公审
  • 李强签署国务院令,公布修订后的《中华人民共和国植物新品种保护条例》
  • 经营业绩持续稳中向好,国铁集团2024年度和2025年一季度财务决算公布