marplotlib坐标轴ax
常用函数
import matplotlib.pyplot as plt
import numpy as np
plt.gcf() #获取当前Figure
plt.gca()#获取当前Axes
# 添加子图
fig = plt.figure()
ax = fig.add_subplot(numrows, numcols, fignum) # 如 plt.subplot(221) # 第一行的左图
ax = fig.add_axes([0.15, 0.1, 0.7, 0.3]) # plt.axis([0, 5, -1, 13]) [xmin,xmax, ymin, ymax]
#设置坐标轴Axes
t = ax.set_title('random numbers') #Text对象
ax.set_xlabel("time") # plt.xlabel()
ax.set_xlim([xmin, xmax])) # plt.xlim()
ax.axis( [xmin,xmax, ymin, ymax]) #设置坐标轴范围 #plt.axis([0,1200*oneMB, 0, 1])
ax.set_xticks() #plt.xticks(range(len(x)), ['a', 'b', 'c', 'd', 'e', 'f']);
# 绘制曲线
ax.lines //所有曲线
l, = plt.plot(x, y) #返回Line2D对象列表
lines = plt.plot(x1,y1,x2,y2)
ax.plot(y, color='blue', linestyle='dashdot', linewidth=4,marker='o', markerfacecolor='red',markeredgecolor='black',markeredgewidth=3, markersize=12,label='Normal');
line1 = plt.Line2D([0,1],[0,1], transform=fig.transFigure, figure=fig, color="r")
#调整坐标轴的标签
for label in plt.gca().xaxis.get_ticklabels():
label.set_rotation(30)
label. set_ha ("right") #horizontal alignment 水平对齐 legal = ('center', 'right', 'left')
fig.autofmt_xdate(bottom=0.18)
# 图示
ax.plot(x, x*1.5, label='Normal')
ax.legend()
ax.legend(['Normal', 'Fast', 'Slow'])
#plt.yticks(range(1, 8, 2));
ax.grid(True) #plt.grid(True) #绘制网格
plt.savefig('plot123.png',dpi=75)
#Axis
axis = plt.gca().xaxis
axis.get_ticklabels()
axis.get_ticklines()
#Text
label.set_color("red")
label.set_rotation(45)
label.set_fontsize(16)
label. set_ha ("right") #horizontal alignment 水平对齐 legal = ('center', 'right', 'left')
=================================
面向对象
FigureCanvas -> Figure ->Axes->Axis(XAxis,YAxis)
fig.patch(Rectangle)
fig.axes
#Axis
ax.xaxis(XAxis).label(Text)
ax.yaxis
ax.lines
ax2 = ax1.twinx() twiny(),
ax2.semilogx(x, y2)
ax2.loglog(x,y2)
#获取和设置对象属性
#调用setp() 可以同时配置多个对象的属性,
plt.setp(lines, color="r", linewidth=2.0)
plt.getp(lines[0], "color")
============================
坐标系转换
我们可以通过Axes 对象的transData 属性获得数据坐标转换对象,transAxes 属性获得子图坐标转
换对象,通过Figure 对象的transFigure 属性获得图表坐标转换对象。
通过坐标转换对象的transform() 方法,可以将此坐标系下的点转换为窗口坐标系中的坐标点,下面
我们看一个例子,首先在IPython 中运行“matplotlib_annotation.
数据坐标系 子图 (xmin,ymin)-(xmax,ymax)
Axes坐标系 子图(0,0)-(1,1)
Figure坐标系 (0,0)-(1,1)
窗口坐标系 像素 (0,0)-(width,height)
三种坐标转换对象,均有inverted()两种方法
ax.transData
ax.transAxes
fig.transFigure
* 通过transform()转换到窗口坐标系
* 通过inverted()获取逆变换对象,再通过transform从窗口坐标系转回
eg:
ax.transData.transform([(-3,-2),(3,5)]) #从子图数据坐标系-> 窗口坐标系(像素)
inv = ax.transData.inverted() #逆变换对象
inv.transform((320, 160)) #从窗口坐标系(像素)->子图数据坐标系
marplotlib坐标轴ax相关推荐
- 如何设置matplotlib中x,y坐标轴的位置?
在机器学习中经常会使用Sigmoid函数,如果直接使用matplotlib绘图,那么就会像下图这样,原点并没有在(0,0). import matplotlib.pyplot as plt impor ...
- matplotlib如何把坐标轴一横一竖给绘制出来
import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.axisartist as axisartist##### ...
- python 坐标轴刻度_给妹子讲python-S02E08坐标轴与主次刻度
微信公众号: python数据科学家 [要点抢先看] 1.剖析plt和坐标轴对象ax的关系 2.主刻度与次刻度的概念 3.格式生成器与定位器的概念 4.数值型主次刻度与自定义格式生成器函数举例 5.日 ...
- python绘制3d坐标轴_matplotlib在python上绘制3D散点图实例详解
大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...
- 一年来终于用实际案例把matplotlib的绘图坐标轴说清楚了-太给力了
学习如果设计坐标轴的主标和辅标 1.正常显示汉字和负号的代码段 mp.rcParams['font.sans-serif']=['SimHei'] mp.rcParams['axes.unicode_ ...
- python之matplotlib 3.2.1之spines不显示右侧和顶端的坐标轴
不显示右侧和顶端的坐标轴是通过spines实现的,具体操作如下: # 隐藏右侧和顶端的坐标轴 ax.spines['right'].set_visible(False) ax.spines['top' ...
- 【坐标轴移位+主辅刻度设定】两年梳理一次性清晰的展示出来,大图解析学习超简单
分层学习,清晰看代码 考虑到本部分内容比较繁琐,所以重新写了一下代码 对代码进行了分类,把艺术化坐标轴写了一个类class 对坐标箭头化写了一个类方法,把主辅刻度写了另一个类方法scale 代码很清晰 ...
- matplotlib高级篇——坐标轴设置(坐标轴居中、坐标轴箭头、刻度设置、标识设置)
问题 我们在用matplotlib绘制图的时候总是有各种需求,比如下图为matplotlib默认设置画的正弦图 但是我们的心中想要达到的目标图为下图,那么就需要对坐标轴进行设置. 解决方案 这里要介绍 ...
- 小瓜讲matplotlib高级篇——坐标轴设置(坐标轴居中、坐标轴箭头、刻度设置、标识设置)
文章目录 问题 解决方案 代码附录 文章导引列表: 机器学习 数据分析 数据可视化 问题 我们在用matplotlib绘制图的时候总是有各种需求,比如下图为matplotlib默认设置画的正弦图 但是 ...
最新文章
- 个人网盘倒下去 企业网盘顶起来
- 【问题收录】ImportError No module named MySQLdb 问题解决
- Entity Framework 无法对没有主键的视图映射实体的解决办法
- JavaWeb 入门篇(2)Hello Servlet!!!
- TCP/IP协议的SYN攻击
- 在javaweb中通过servlet类和普通类读取资源文件
- python—while循环、字符串
- html 为元素附空值,HTML空(void)元素有哪些?
- python猜名词甲乙丙_用python实现了一下:甲乙两人互猜数字(数理逻辑)
- 应对用户需求的四个要点-企业数字化转型外部:驱动力之客户篇...
- android 布局长度单位深入研究
- 三维重建——使用colmap进行重建
- android xml反编译原理,记一次resources.arsc文件hex修改原理分析
- 老表,教你一招啊!!!如何用python实现将csv文件快速导入数据库,建议收藏!!!
- Java设计模式笔记------设计原则完结
- Visual Studio 2017 15.9 Previews扩展C++调试功能
- 必做作业3:原型化系统---乘车app
- 服务器主动推送消息数据给客户端
- 《SolidWorks 2014中文版机械设计从入门到精通》——2.3 草图编辑
- AutoSAR系列讲解(入门篇)4.1-BSW概述
热门文章
- C#基于NAudio的声音识别(一)——录制与切割
- Android高德地图自定义地图指南针
- UNE BASE SIMPLE MAIS PARFAITE POUR SENTENCE EMBEDDINGS(一个简单但很难超越的Sentence Embedding基线方法)
- Aimersoft Video Converter Ultimate Mac(全能视频转换器)
- 以下是两段c语言代码函数arith,计算机组成习题答案(清华大学).docx
- Esp8266学习之旅⑧ 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。(带Demo)
- [DataAnalysis]数据分析文本编辑器软件UE-常用操作汇总
- Java进阶:java程序设计慕课版课后答案浪潮优派
- 木头机器人变魔方_【转】一个木头魔方的制作过程
- 51信用卡股价年初至今上浮5倍,引入银行背景高管担任行政总裁