matplotlib学习日记(十一)---坐标轴高阶应用
(一)设置坐标轴的位置和展示形式
(1)向画布中任意位置添加任意数量的坐标轴
- '''
- 通过在画布的任意位置和区域,讲解设置坐标轴的位置和坐标轴的展示形式的实现方法,
- 与subplot,subplots不同,axes可以完成子区的交错,覆盖和重叠等视图组合
- ax(rect, frameon, facecolor)的参数的含义
- rect=[left, bottom, width, height]
- left------------>左侧边缘距离画布边缘的距离
- bottom---------->距离底部画布边缘的距离
- width----------->坐标轴的宽度
- height---------->坐标轴的高度
- left和height--------->画布宽度的归一化距离
- bottom和width-------->画布高度的归一化距离
- frameon------------>True,绘制坐标轴的四条轴脊
- facecolor---------->坐标轴背景的颜色
- '''
- import matplotlib.pyplot as plt
- import numpy as np
- plt.axes([0.05, 0.7, 0.3, 0.3], frameon=True, facecolor="y", aspect="equal")
- plt.plot(np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="--")
- plt.axes([0.3, .4, .3, .3], frameon=True, facecolor="y", aspect="equal")
- plt.plot(2+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="-")
- plt.axes([0.55, .1, .3, .3], frameon=True, facecolor="y", aspect="equal")
- plt.plot(4+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle=":")
- plt.show()
(2)函数axis()--------调整已经确定的坐标轴的显示,隐藏和刻度范围
- '''
- 通过在画布的任意位置和区域,讲解设置坐标轴的位置和坐标轴的展示形式的实现方法,
- 与subplot,subplots不同,axes可以完成子区的交错,覆盖和重叠等视图组合
- ax(rect, frameon, facecolor)的参数的含义
- rect=[left, bottom, width, height]
- left------------>左侧边缘距离画布边缘的距离
- bottom---------->距离底部画布边缘的距离
- width----------->坐标轴的宽度
- height---------->坐标轴的高度
- left和height--------->画布宽度的归一化距离
- bottom和width-------->画布高度的归一化距离
- frameon------------>True,绘制坐标轴的四条轴脊
- facecolor---------->坐标轴背景的颜色
- '''
- import matplotlib.pyplot as plt
- import numpy as np
- plt.axes([0.05, 0.7, 0.3, 0.3], frameon=True, facecolor="y", aspect="equal")
- plt.plot(np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="--")
- plt.ylim(0, 1.5)
- plt.axis("image")
- plt.axes([0.3, .4, .3, .3], frameon=True, facecolor="y", aspect="equal")
- plt.plot(2+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="-")
- plt.ylim(0, 15)
- plt.axis([2.1, 3.9, 0.5, 1.9])
- #axis([xmin, xmax, ymin, ymax])
- plt.axes([0.55, .1, .3, .3], frameon=True, facecolor="y", aspect="equal")
- plt.plot(4+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle=":")
- plt.ylim(0, 1.5)
- plt.axis("off")
- #坐标轴的关闭
- plt.show()
(3)控制坐标轴刻度的显示(一)
- import matplotlib.pyplot as plt
- import numpy as np
- '''
- 控制坐标轴刻度的显示的两种方法:
- 一是调用matplotlib的面向对象的API的Axes.set_xticks()和
- Axes.yticks()实例方法,另一种是调用模块pyplot的API,使用函数
- setp()设置刻度元素
- '''
- ax1 = plt.subplot(121)
- ax1.set_xticks(range(0, 251, 50))
- plt.grid(True, axis="x")
- ax2 = plt.subplot(122)
- ax2.set_xticks([])
- plt.grid(True, axis="x")
- plt.show()
(4)调用函数setp()--------实现刻度值的显示
- import matplotlib.pyplot as plt
- import numpy as np
- '''
- 控制坐标轴刻度的显示的两种方法:
- 一是调用matplotlib的面向对象的API的Axes.set_xticks()和
- Axes.yticks()实例方法,另一种是调用模块pyplot的API,使用函数
- setp()设置刻度元素
- '''
- ax1 = plt.subplot(221)
- plt.setp(ax1.get_xticklabels(), visible=True)
- plt.setp(ax1.get_xticklines(), visible=True)
- plt.grid(True, axis="x")
- ax2 = plt.subplot(222)
- plt.setp(ax2.get_xticklabels(), visible=True)
- plt.setp(ax2.get_xticklines(), visible=False)
- plt.grid(True, axis="x")
- #刻度线的隐藏
- ax3 = plt.subplot(223)
- plt.setp(ax3.get_xticklabels(), visible=False)
- plt.setp(ax3.get_xticklines(), visible=True)
- plt.grid(True, axis="x")
- #刻度标签的隐藏
- ax4 = plt.subplot(224)
- plt.setp(ax4.get_xticklabels(), visible=False)
- plt.setp(ax4.get_xticklines(), visible=False)
- plt.grid(True, axis="x")
- #双隐藏
- plt.show()
(5)棉棒图的定制化展示
- import matplotlib.pyplot as plt
- import numpy as np
- x = np.linspace(0.5, 2*np.pi, 20)
- y = np.random.randn(20)
- markerline, stemlines, baseline = plt.stem(x, y)
- #获得实例,前两个实例的属性值的改变用setp
- plt.setp(markerline, color="chartreuse", marker="D")
- plt.setp(stemlines, linestyle="-.")
- #stemlines是实例列表
- baseline.set_linewidth(2)
- #基线的位置和线型
- plt.show()
(8)控制坐标轴的显示
- import matplotlib.pyplot as plt
- import numpy as np
- '''
- spines实现轴的显示
- set_ticks_position实现标签的显示
- '''
- x = np.linspace(-2*np.pi, 2*np.pi, 1000)
- y = np.sin(x)
- ax1 = plt.subplot(221)
- ax1.spines["right"].set_color("none")
- ax1.spines["top"].set_color("none")
- ax1.set_xlim(-2*np.pi, 2*np.pi)
- ax1.set_ylim(-1.0, 1.0)
- plt.title(r"$a$")
- plt.scatter(x, y, marker="+", color="b")
- ax2 = plt.subplot(222)
- ax2.spines["right"].set_color("none")
- ax2.spines["top"].set_color("none")
- ax2.xaxis.set_ticks_position("bottom")
- ax2.set_xlim(-2*np.pi, 2*np.pi)
- ax2.set_ylim(-1.0, 1.0)
- plt.title(r"$b$")
- plt.scatter(x, y, marker="+", color="b")
- ax3 = plt.subplot(223)
- ax3.spines["right"].set_color("none")
- ax3.spines["top"].set_color("none")
- ax3.yaxis.set_ticks_position("left")
- ax3.set_xlim(-2*np.pi, 2*np.pi)
- ax3.set_ylim(-1.0, 1.0)
- plt.title(r"$c$")
- plt.scatter(x, y, marker="+", color="b")
- ax4 = plt.subplot(224)
- ax4.spines["right"].set_color("none")
- ax4.spines["top"].set_color("none")
- ax4.xaxis.set_ticks_position("bottom")
- ax4.yaxis.set_ticks_position("left")
- ax4.set_xlim(-2*np.pi, 2*np.pi)
- ax4.set_ylim(-1.0, 1.0)
- plt.title(r"$d$")
- plt.scatter(x, y, marker="+", color="b")
- plt.show()
matplotlib学习日记(十一)---坐标轴高阶应用的更多相关文章
- python学习8—函数之高阶函数与内置函数
python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...
- javascript设计模式学习之三—闭包和高阶函数
一.闭包 闭包某种程度上就是函数的内部函数,可以引用外部函数的局部变量.当外部函数退出后,如果内部函数依旧能被访问到,那么内部函数所引用的外部函数的局部变量就也没有消失,该局部变量的生存周期就被延续. ...
- python学习-41 装饰器 -- 高阶函数
装饰器:本质就是函数.是为其他函数添加附加功能的. 原则:1.不修改被修饰函数的源代码2.不修改被修饰函数的调用方式 --- 装饰器的知识储备 装饰器=高阶函数+函数嵌套+闭包 高阶函数 1.高阶函数 ...
- kotlin学习(7)高阶函数
高阶函数 以另一个函数作为参数或者返回值的函数被称为高阶函数. 函数类型 //隐式声明(省略了变量类型) val sum = (x:Int, y:Int -> x+y) val action = ...
- matplotlib学习日记(十)-共享绘图区域的坐标轴
(1)共享单一绘图区域的坐标轴 ''' 上一讲介绍了画布的划分,有时候想将多张图放在同一个绘图区域, 不想在每个绘图区域只绘制一幅图形,这时候借助共享坐标轴的方法实现在一个绘图区 绘制多幅图形的目的. ...
- matplotlib学习日记(十)-划分画布的主要函数
(1)函数subplot()绘制网格区域中的几何形状相同的子区布局 import matplotlib.pyplot as plt import numpy as np '''函数subplot的介绍 ...
- matplotlib学习日记(九)-图形样式
(一)刻度线定位器和刻度格式器的使用方法 import matplotlib.pyplot as plt import numpy as np from matplotlib.ticker impor ...
- js学习日记-各种宽高总结(配图)
1.窗口和浏览器 window.innerWidth.window.innerHeight 浏览器内部可用宽高 window.outerWidth.window.outerHeight 浏览器 ...
- matplotlib学习日记(八)----完善统计图
(一)再说legend() import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 2.1, 0.1) y = np.p ...
随机推荐
- Meetings S 题解
题目描述 题目链接 有两个牛棚位于一维数轴上的点 \(0\) 和 \(L\) 处.同时有 \(N\) 头奶牛位于数轴上不同的位置(将牛棚和奶牛看作点).每头奶牛 \(i\) 初始时位于某个位置 \(x ...
- Matlab 画图1
plot函数 plot最简单的是plot(x,y),其中,x,y是一组数据 如果要画出\(y=x^2\)的图像 在Command Window中输入 x =[1 2 3]; y =[4 5 6]; p ...
- java base64加解密
接上篇java Base64算法. 根据之前过程使用base64加解密,所以写成了工具类. 代码示例; public class Base64Util { private static Logger ...
- FlashCache初体验
注意: 测试用的是CentOS6.5 内核版本2.6.32-431.el6.x86_64 步骤: 上传CentOS6.5做本地yum源,安装以下包. yum install gcc yum insta ...
- 【2020.11.28提高组模拟】T2 序列(array)
序列(array) 题目描述 给定一个长为 \(m\) 的序列 \(a\). 有一个长为 \(m\) 的序列 \(b\),需满足 \(0\leq b_i \leq n\),\(\sum_{i=1}^ ...
- vue绑定用户页面
1.vue微博回调空页面 微博回调空页面为: http://127.0.0.1:8888/oauth/callback/ 1.1 页面路径 components\oauth.vue <templ ...
- moviepy音视频开发:音频文件存取类AudioFileClip属性和方法介绍
☞ ░ 前往老猿Python博文目录 ░ 一.概述 AudioFileClip是AudioClip的直接子类,用于从一个音频文件或音频数组中读入音频到内存构建音频剪辑.但AudioFileClip并不 ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox增加自定义按钮的方法
在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButton ...
- PyQt(Python+Qt)学习随笔:Qt Designer中窗口对象的windowFilePath属性
windowFilePath属性仅对窗口对象有效,用于关联一个窗口和对应的文件及路径. 当窗口没有设置标题属性的情况下,则窗口标题展示展示windowFilePath对应的文件名的信息(路径信息不展示 ...
- Get请求Test
一.新建测试套 作为管理接口,可按功能分类,也可按业务逻辑分类,根目录下最多一级子目录.运行接口时,可按测试套为单位,整体运行. 二.选择请求类型,输入接口地址 根据接口文档中提供的接口请求类型及地址 ...