基本画图操作:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3,3,50)

y1 = 2*x+1

y2 = x**2#x的平方

plt.figure()

plt.plot(x,y1) #画线

plt.scatter(x,y2) #画点

plt.figure(num=333,figsize=(8,5))#图333

plt.plot(x,y2)

plt.show()

设置图例:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3,3,50)

y1 = 2*x+1

y2 = x**2#x的平方

plt.figure()

plt.xlim((-1,2))

plt.ylim((-2,3))

plt.xlabel('I am x')

plt.ylabel('I am y')

new_ticks = np.linspace(-1,2,5)#5为5个单位

print(new_ticks)

plt.xticks(new_ticks)

#用r(正则表达)和$框起来可以转换为计算机可以读的字体

#\加空格转义为空格,\加alpha能够输出 真正的alpha

plt.yticks([-2,-1.8,-1,1.22,3,],

[r'$really\ bad$',r'$bad\ \alpha$','normal','good','really good'])

l1,=plt.plot(x,y2,label='up')#画线

l2,=plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--',label='dowm')#‘--’为虚线

#loc可以为upper right等等

#要传到handles要加,用了labels后就不用l1,l2本身的label

plt.legend(handles=[l1,l2,],labels=['aaa','bbb'],loc='best')

plt.show()

设置坐标轴位置:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3,3,50)

y1 = 2*x+1

y2 = x**2#x的平方

plt.figure()

plt.plot(x,y2)

plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

plt.xlim((-1,2))

plt.ylim((-2,3))

plt.xlabel('I am x')

plt.ylabel('I am y')

new_ticks = np.linspace(-1,2,5)#5为5个单位

print(new_ticks)

plt.xticks(new_ticks)

#用r(正则表达)和$框起来可以转换为计算机可以读的字体

#\加空格转义为空格,\加alpha能够输出 真正的alpha

plt.yticks([-2,-1.8,-1,1.22,3,],

[r'$really\ bad$',r'$bad\ \alpha$','normal','good','really good'])

ax = plt.gca()#ax为上图

ax.spines['right'].set_color('none')#删除右边缘黑框

ax.spines['top'].set_color('none')#删除上边缘黑框

ax.xaxis.set_ticks_position('bottom')#令x轴为底边缘

ax.yaxis.set_ticks_position('left')#令y轴为左边缘

ax.spines['bottom'].set_position(('data',-1))#将底边缘放到 y轴数据-1的位置

ax.spines['left'].set_position(('data',0))#将左边缘放到 y轴数据-1的位置

plt.show()

标注:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3,3,50)

y = 2*x+1

plt.figure(num=1,figsize=(8,5),)

plt.plot(x,y,)

ax = plt.gca()#ax为上图

ax.spines['right'].set_color('none')#删除右边缘黑框

ax.spines['top'].set_color('none')#删除上边缘黑框

ax.xaxis.set_ticks_position('bottom')#令x轴为底边缘

ax.yaxis.set_ticks_position('left')#令y轴为左边缘

ax.spines['bottom'].set_position(('data',0))#将底边缘放到 y轴数据-1的位置

ax.spines['left'].set_position(('data',0))#将左边缘放到 y轴数据-1的位置

#添加标注

x0 =1

y0 = 2*x0+1

plt.scatter(x0,y0,s=50,color='b')#b代表blue

#plot(x列表,y列表)

plt.plot([x0,x0],[y0,y0],'k--',lw=2.5) #k代表黑色,lw为线宽

#model 1

#annotate标注

#xy为基准点

#textcoords='offset point'代表以这个点为基准,标注在这个点的基础上x+30,y-30

#arrowprops描述箭头,线的弧度等信息

#xycoords='data' xy的坐标是基于data的

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=.2'))

#mothod 2

plt.text(-3.7,3,r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$',

fontdict={'size':16, 'color':'r'})

plt.show()

(1)annotate语法说明 :annotate(s='str' ,xy=(x,y) ,xytext=(l1,l2) ,..)

s 为注释文本内容

xy 为被注释的坐标点

xytext 为注释文字的坐标位置

xycoords 参数如下:

figure points          points from the lower left of the figure 点在图左下方

figure pixels          pixels from the lower left of the figure 图左下角的像素

figure fraction       fraction of figure from lower left 左下角数字部分

axes points           points from lower left corner of axes 从左下角点的坐标

axes pixels           pixels from lower left corner of axes 从左下角的像素坐标

axes fraction        fraction of axes from lower left 左下角部分

data                     use the coordinate system of the object being annotated(default) 使用的坐标系统被注释的对象(默认)

polar(theta,r)       if not native ‘data’ coordinates t

extcoords 设置注释文字偏移量

| 参数 | 坐标系 |

| 'figure points' | 距离图形左下角的点数量 |

| 'figure pixels' | 距离图形左下角的像素数量 |

| 'figure fraction' | 0,0 是图形左下角,1,1 是右上角 |

| 'axes points' | 距离轴域左下角的点数量 |

| 'axes pixels' | 距离轴域左下角的像素数量 |

| 'axes fraction' | 0,0 是轴域左下角,1,1 是右上角 |

| 'data' | 使用轴域数据坐标系 |

arrowprops  #箭头参数,参数类型为字典dict

width           the width of the arrow in points                              点箭头的宽度

headwidth   the width of the base of the arrow head in points  在点的箭头底座的宽度

headlength  the length of the arrow head in points                   点箭头的长度

shrink          fraction of total length to ‘shrink’ from both ends  总长度为分数“缩水”从两端

facecolor     箭头颜色

bbox给标题增加外框 ,常用参数如下:

boxstyle方框外形

facecolor(简写fc)背景颜色

edgecolor(简写ec)边框线条颜色

edgewidth边框线条大小

bbox=dict(boxstyle='round,pad=0.5', fc='yellow', ec='k',lw=1 ,alpha=0.5)  #fc为facecolor,ec为edgecolor,lw为lineweight

设置不透明度:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3,3,50)

y = 0.1*x

plt.figure()

#alpha为设置不透明深度

plt.plot(x,y,linewidth=10,alpha=0.7)

plt.ylim(-2,2)

#建立坐标系

ax = plt.gca()#ax为上图

ax.spines['right'].set_color('none')#删除右边缘黑框

ax.spines['top'].set_color('none')#删除上边缘黑框

ax.xaxis.set_ticks_position('bottom')#令x轴为底边缘

ax.yaxis.set_ticks_position('left')#令y轴为左边缘

ax.spines['bottom'].set_position(('data',0))#将底边缘放到 y轴数据-1的位置

ax.spines['left'].set_position(('data',0))#将左边缘放到 y轴数据-1的位置

#解决线太粗把坐标挡住的问题

for label in ax.get_xticklabels() + ax.get_yticklabels():

label.set_fontsize(18)

label.set_bbox(dict(facecolor='yellow', edgecolor='None', alpha=0.7))

plt.show()

python自动标注autocad坐标_python 可视化 二维坐标标注等等相关推荐

  1. python 可视化 二维坐标标注等等

    python 可视化 二维坐标标注等等 - 蔡军帅 - 博客园https://www.cnblogs.com/caiyishuai/p/9607250.html 大佬的分享,在这里方便自己总结学习,因 ...

  2. python 二维数组元素返回二维坐标_python – 从二维数组中返回生成器而不是位置列表...

    我昨天正在进行一场游戏,我必须遍历一个二维阵列并找到标记为"d"的任何单元格的位置(其中单元格表示为" – "表示空白,"d"表示为脏). ...

  3. python 随机获取数组元素_Python创建二维数组的正确姿势

    List (列表)是 Python 中最基本的数据结构.在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始.因此,我们可以使用 list[1] 来获取下标对应的值.如果我们深入下列表 ...

  4. java 课后习题 二维坐标距离 三角形判断等

    知识点: 1.三角形的判断公式 两边之和大于第三边 2.二维坐标两点距离公式 根号[(x1-x2)平方+(y1-y2)平方] 3.JAVA Math.pow(变量,指数); 的运用 4.JAVA Ma ...

  5. 【JAVA 第四章 流程控制语句】课后习题 二维坐标距离 三角形判断等

    知识点: 1.三角形的判断公式 两边之和大于第三边 2.二维坐标两点距离公式 根号[(x1-x2)平方+(y1-y2)平方] 3.JAVA Math.pow(变量,指数); 的运用 4.JAVA Ma ...

  6. python函数图像平移_旋转、缩放和平移二维坐标?

    下面是一个关于矩阵的解决方案(这对于这种计算是有意义的,最后,二维坐标是一列的矩阵!)我是说 缩放非常简单,只需将矩阵的每个元素乘以缩放因子即可:scaled = copy.deepcopy(orig ...

  7. 希伯特数值与二维坐标的相互转换(python)

    希伯特曲线具体干什么的,就不多说了,直接上代码! class Hilbert:# n 行列数def __init__(self, n ):self.n = ndef rot(self, xy, rx, ...

  8. 在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录

    简介 二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明.现随着智能手机的普及,已广 ...

  9. python 全栈开发,Day128(创建二维码,扫码,创建玩具的基本属性)

    python 全栈开发,Day128(创建二维码,扫码,创建玩具的基本属性) 昨日内容回顾 1.app播放音乐plus.audio.createPlayer(文件路径/URL)player.play( ...

最新文章

  1. 有源汇上下界最小费用可行流 ---- P4553 80人环游世界(拆点 + 有源汇上下界最小费用可行流)
  2. Linux查看可执行文件的各个段:.BSS,.TEXT,.DATA的大小
  3. 关于肥胖和美国为什么那么多胖子
  4. DOS命令下Javac命令不能执行原因
  5. java中调用_如何获取Java中的调用方类
  6. 从 0 搭建一个工业级推荐系统
  7. Kafka Broker常用配置详解
  8. 常用SQL语句整理及示例
  9. vsCode常用插件
  10. 05JavaScript输出
  11. php 获取搜索引擎,php获取搜索引擎关键字来源(支持百度、谷歌等搜索引擎)的函数...
  12. 中文冒号vs英文冒号
  13. c语言pow函 新闻,c语言pow函数(C语言pow函数)
  14. Android 插件化换肤 思路及实现
  15. 何谓差模信号?何谓共模信号?
  16. 心理测评软件php mysql_心理测量软件_心理测评系统
  17. 云场景实践研究第40期:网聚宝
  18. 虚拟机 CentOS7 SecureCRT连接 CentOS连接不了网问题
  19. [翻译]位运算暗黑魔导书
  20. Flink消费kafka,某partition突然从头开始消费,yarn部署,无报错,很奇怪

热门文章

  1. 林丹推动技术革命 五项第一独步天下
  2. 事务注解错误范例org.apache.ibatis.session.defaults.DefaultSqlSession
  3. eclipse 抛 error: could not create the java virtual machine.Error: A fatal exception has occurred解决方法
  4. arcgis api 4.x加载天地图(经纬度和墨卡托投影)(一篇文章搞透天地图加载)
  5. Nginx+mongrel部署Rails应用
  6. 解析json格式请求返回500状态码的异常
  7. Scratch少儿编程与游戏:狙击黑蝙蝠
  8. java后台判断请求来自移动端访问还是PC端访问
  9. java 字符串判空_java判断字符串String是否为空问题浅析
  10. nexus7二代刷Linux,大饱眼福: Nexus 7二代全拆解