• 常用函数

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相关推荐

  1. 如何设置matplotlib中x,y坐标轴的位置?

    在机器学习中经常会使用Sigmoid函数,如果直接使用matplotlib绘图,那么就会像下图这样,原点并没有在(0,0). import matplotlib.pyplot as plt impor ...

  2. matplotlib如何把坐标轴一横一竖给绘制出来

    import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.axisartist as axisartist##### ...

  3. python 坐标轴刻度_给妹子讲python-S02E08坐标轴与主次刻度

    微信公众号: python数据科学家 [要点抢先看] 1.剖析plt和坐标轴对象ax的关系 2.主刻度与次刻度的概念 3.格式生成器与定位器的概念 4.数值型主次刻度与自定义格式生成器函数举例 5.日 ...

  4. python绘制3d坐标轴_matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...

  5. 一年来终于用实际案例把matplotlib的绘图坐标轴说清楚了-太给力了

    学习如果设计坐标轴的主标和辅标 1.正常显示汉字和负号的代码段 mp.rcParams['font.sans-serif']=['SimHei'] mp.rcParams['axes.unicode_ ...

  6. python之matplotlib 3.2.1之spines不显示右侧和顶端的坐标轴

    不显示右侧和顶端的坐标轴是通过spines实现的,具体操作如下: # 隐藏右侧和顶端的坐标轴 ax.spines['right'].set_visible(False) ax.spines['top' ...

  7. 【坐标轴移位+主辅刻度设定】两年梳理一次性清晰的展示出来,大图解析学习超简单

    分层学习,清晰看代码 考虑到本部分内容比较繁琐,所以重新写了一下代码 对代码进行了分类,把艺术化坐标轴写了一个类class 对坐标箭头化写了一个类方法,把主辅刻度写了另一个类方法scale 代码很清晰 ...

  8. matplotlib高级篇——坐标轴设置(坐标轴居中、坐标轴箭头、刻度设置、标识设置)

    问题 我们在用matplotlib绘制图的时候总是有各种需求,比如下图为matplotlib默认设置画的正弦图 但是我们的心中想要达到的目标图为下图,那么就需要对坐标轴进行设置. 解决方案 这里要介绍 ...

  9. 小瓜讲matplotlib高级篇——坐标轴设置(坐标轴居中、坐标轴箭头、刻度设置、标识设置)

    文章目录 问题 解决方案 代码附录 文章导引列表: 机器学习 数据分析 数据可视化 问题 我们在用matplotlib绘制图的时候总是有各种需求,比如下图为matplotlib默认设置画的正弦图 但是 ...

最新文章

  1. 个人网盘倒下去 企业网盘顶起来
  2. 【问题收录】ImportError No module named MySQLdb 问题解决
  3. Entity Framework 无法对没有主键的视图映射实体的解决办法
  4. JavaWeb 入门篇(2)Hello Servlet!!!
  5. TCP/IP协议的SYN攻击
  6. 在javaweb中通过servlet类和普通类读取资源文件
  7. python—while循环、字符串
  8. html 为元素附空值,HTML空(void)元素有哪些?
  9. python猜名词甲乙丙_用python实现了一下:甲乙两人互猜数字(数理逻辑)
  10. 应对用户需求的四个要点-企业数字化转型外部:驱动力之客户篇...
  11. android 布局长度单位深入研究
  12. 三维重建——使用colmap进行重建
  13. android xml反编译原理,记一次resources.arsc文件hex修改原理分析
  14. 老表,教你一招啊!!!如何用python实现将csv文件快速导入数据库,建议收藏!!!
  15. Java设计模式笔记------设计原则完结
  16. Visual Studio 2017 15.9 Previews扩展C++调试功能
  17. 必做作业3:原型化系统---乘车app
  18. 服务器主动推送消息数据给客户端
  19. 《SolidWorks 2014中文版机械设计从入门到精通》——2.3 草图编辑
  20. AutoSAR系列讲解(入门篇)4.1-BSW概述

热门文章

  1. C#基于NAudio的声音识别(一)——录制与切割
  2. Android高德地图自定义地图指南针
  3. UNE BASE SIMPLE MAIS PARFAITE POUR SENTENCE EMBEDDINGS(一个简单但很难超越的Sentence Embedding基线方法)
  4. Aimersoft Video Converter Ultimate Mac(全能视频转换器)
  5. 以下是两段c语言代码函数arith,计算机组成习题答案(清华大学).docx
  6. Esp8266学习之旅⑧ 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。(带Demo)
  7. [DataAnalysis]数据分析文本编辑器软件UE-常用操作汇总
  8. Java进阶:java程序设计慕课版课后答案浪潮优派
  9. 木头机器人变魔方_【转】一个木头魔方的制作过程
  10. 51信用卡股价年初至今上浮5倍,引入银行背景高管担任行政总裁