我都是在以移动坐标的代码为基础的

1.移动坐标轴
用Matplotlib绘制的图表的默认坐标轴是在左下角的,那么怎么能让它像数学里面那种成十字形的呢

import matplotlib.pyplot as plt
import numpy as npx=np.linspace(-3,3,50)
y=2*x+1
plt.figure()#创建图
plt.plot(x,y,linewidth=1)ax=plt.gca() #创建子图,改变坐标轴的默认显示方式主要要使用gca()方法#spines脊梁,也就是四个边框#隐藏右边和上边的边框,使之没有颜色
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')#默认ax里面的x轴和y轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')#移动x轴y轴的位置
ax.spines['bottom'].set_position(('data',1))#0,就是移到0的位置ax.spines['left'].set_position(('data',0))#0,就是移到0的位置
#所以这个时候的x轴y轴的坐标交点就是(0,0)
#position里只有一个参数,记得是双括号plt.show() #显示图表


2.注释的使用

import matplotlib.pyplot as plt
import numpy as npx=np.linspace(-3,3,50)
y=2*x+1
plt.figure()
plt.plot(x,y,linewidth=2,zorder=1)#蓝色的那条线ax=plt.gca()ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))############################   添加注释  ###############################################
x0=1
y0=x0*2+1
plt.scatter(x0,y0,s=50,color='r',zorder=2)#以红色点形式显示出来plt.plot([x0,x0],[0,y0],'k--',lw=2.5)#简写形式,这是那条虚线,k--是指k是指黑色,--虚线,lw是指线的宽度#annotate函数显示注释,
plt.annotate(r'$2x+1=%s$'%y0,xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',
fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=0.2'))########################################################################################plt.show()

上面的zorder是顺序优先级,zorder大的优先显示出来,这里点的zorder大于蓝色线的,所以看的是点压在线的上面,annotate()函数详细看这里annotate()详解

3.图例的使用

import matplotlib.pyplot as plt
import numpy as npx=np.linspace(-3,3,50)
y=2*x+1
plt.figure()
plt.plot(x,y,linewidth=1,label='yyyyyyyy')#这里需要给这个函数设置个label,也就是弄个标签ax=plt.gca() ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')ax.spines['bottom'].set_position(('data',1))ax.spines['left'].set_position(('data',0))#############################  图例的使用  ##########################plt.legend()  #默认的图例#################################################################
plt.show()


4.tick能见度

import matplotlib.pyplot as plt
import numpy as npx=np.linspace(-3,3,50)
y=2*x+1
plt.figure()
plt.plot(x,y,linewidth=10,zorder=1)  #设置优先级ax=plt.gca()ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))################################### 标签的可见度 #####################for label in ax.get_xticklabels()+ax.get_yticklabels(): #获取x,y中所有的标签label.set_zorder(2)    #z_order设置对象优先级label.set_fontsize(12)    #设置数字大小label.set_bbox(dict(facecolor='red',edgecolor='white',alpha=0.8))#facecolor 是指背景色  ,edgecolor是指边框色,alpha指透明度########################################################################plt.show()

为了增强视觉效果,我吧线条宽度设置为10,把标签背景设置为红色,平常可以设为白色

Python——matplotlib中的乱七八糟(一)【注释,图例,tick能见度,移动坐标轴】相关推荐

  1. Python matplotlib 中填充颜色

    Python matplotlib 中填充颜色 matplotlib中填充颜色主要是两个函数,一个是fill,一个是fill_between,这里讲一下详细的关键字, 这里关键字主要有facecolo ...

  2. python Matplotlib中时间刻度标签的设置/主副刻度

    问题 绘制个例逐小时观测结果时,由于时间标签太长,因此再绘图时,选择了12H绘制标签: fig2 = plt.figure(figsize=(8,8))#设置画布大小 times=wrftime ax ...

  3. Python Matplotlib中坐标轴标题中各种特殊符号的显示 转义字符全集,编写数学表达式

    Matplotlib中文显示问题--用例子说明问题 #-*- coding: utf-8 -*- from pylab import * t = arange(-4*pi, 4*pi, 0.01) y ...

  4. python matplotlib中误差棒图

    import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np x=np.linspace(0.1,0.6,10 ...

  5. python绘制多边形_在python matplotlib中绘制三维多边形

    我浏览网页失败,无法找到以下简单问题的解决方案: 如何使用顶点值绘制三维多边形(例如填充矩形或三角形)? 我尝试过很多想法,但都失败了,请看:from mpl_toolkits.mplot3d imp ...

  6. 【收藏】如何优雅的在 Python matplotlib 中可视化矩阵,以及cmap色带设置

    有时需要将numpy矩阵绘制出来看趋势,这时候可以使用plt.imshow() 方法来可视化 同时还需要对cmap进行设置,使用不同的色带,达到更好的可视化效果. 代码 import numpy as ...

  7. 【收藏】如何优雅的在 Python matplotlib 中制作平滑线/趋势线

    有时候需要在绘制曲线的时候,绘制一条趋势线,如下图,这种如何实现呢,请看下文. 数据如下 趋势计算代码 有两个输入 第一个输入是一个待平滑的数值数组, 第二个输入是权重,越大越平滑 # weight ...

  8. python中subplot是什么意思_python matplotlib中的subplot函数使用详解

    python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包.基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数.于是,为了节省时间,可以一劳 ...

  9. python中mat函数_python matplotlib中的subplot函数使用详解

    python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包.基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数.于是,为了节省时间,可以一劳 ...

最新文章

  1. 厉害了!写代码、搜问题,全部都在「终端」完成!如此编程神器,是时候入手了...
  2. 面试:URI中的 “//” 有什么用?
  3. 【ABAP】OO ALV 概述
  4. python理论知识选择题_Python基础自测题答案和基础知识梳理
  5. 一文带你理解如何解决工作中的需求
  6. 6.mysql 锁机制
  7. c ++产生不同的随机数_C ++程序生成随机密码
  8. nginx的高级配置(1)——为某个虚拟主机添加用户验证
  9. python类的实例方法必须创建对象后_Python3 类方法,实例方法,静态方法详解...
  10. android 魅族扫码,教你扫码登录王者荣耀,支持魅族OPPO华为小米苹果安卓等手机,超简单...
  11. 学信网如何通过证件编码查学历
  12. 计算机控制系统——数字控制器设计之模拟控制器的离散化(Chapter 5)
  13. 手机文件夹为什么是英文?哪些可以删除?看完清理能多出10G内存
  14. 苹果 服务通知 V2
  15. 《天下无贼》经典台词与遗憾
  16. 微信内点击链接或扫描二维码直接打开手机默认浏览器打开指定网页
  17. 天梯赛-L2-027 名人堂与代金券(25)(多条件排序)
  18. ps2022自学教程:使用Photoshop Mac软件创建动画和音频
  19. linux nfs root无权限,nfs root 无权限_如何允许root用户访问NFS?
  20. 视频教程-快速入门Android开发 视频 教程 android studio-Android

热门文章

  1. 身份证识别离线ocr
  2. qpython爬虫_python爬虫教程:批量抓取 QQ 群信息
  3. 设计一套简单的计算机系统及其指令系统,【精品】计算机组成综合设计指导书...
  4. 嵌入式入门学习笔记6:[转]嵌入式开发需要学习哪些东西
  5. 支付宝小程 rich-text标签不显示问题解决
  6. sony android mp3播放器,入手一年,详细聊聊 索尼ZX505、艾利和SR15 两款安卓播放器的使用体验...
  7. 伯努利数简单学习笔记
  8. CPU方案简介SSD201 - 智能网关中控
  9. 面试技巧自我介绍大全
  10. 随机获取歌曲信息播放php,网易云热评随机获取PHP代码