python+matplotlib+绘制不同图标类型
#==================================================================
#首先需要导入两个文件
import matplotlib.pyplot as plt
import numpy as np
#==================================================================
- #==================================================================
- #首先需要导入两个文件
- import matplotlib.pyplot as plt
- import numpy as np
- #==================================================================
- #绘制线性图
- x = np.arange(-2*np.pi,2*np.pi,0.01)#定义横轴范围(-2pi 2pi)
- y = np.sin(3*x)/x#函数
- y2 = np.sin(2*x)/x
- y3 = np.sin(x)/x
- plt.plot(x,y)#绘制,matplotlib默认展示不同的颜色
- plt.plot(x,y2,'--')
- plt.plot(x,y3)
- plt.xticks([-2*np.pi,-np.pi,0,np.pi,2*np.pi],[r'$-2\pi$',r'$\pi$','$0$','$\pi$','$2\pi$'])#显示横坐标刻度值,不加第二个参数,将显示的是数值而不是字母
- plt.yticks([-1,0,1,2,3],[r'$-1$','$0$','$+1$','$+2$','$+3$'])
- plt.legend(['y1','y2','y3'])
- plt.title('NEO-Karl')
- plt.show()
运行结果:
- #将坐标轴移到中间,即笛卡尔坐标轴。
- # 路径:将图形上,右边隐藏,将下,左边移动到中间,需要用到gac函数获取Axes对象
- # 接着通过这个对象指定每条边的位置,使用set_color设置成none。实现代码如下:
- x = np.arange(-2*np.pi,2*np.pi,0.01)#定义横轴范围
- y = np.sin(3*x)/x#函数
- y2 = np.sin(2*x)/x
- y3 = np.sin(x)/x
- plt.plot(x,y)#绘制,matplotlib默认展示不同的颜色
- plt.plot(x,y2,'--')
- plt.plot(x,y3)
- plt.xticks([-2*np.pi,-np.pi,0,np.pi,2*np.pi],[r'$-2\pi$',r'$\pi$','$0$','$\pi$','$2\pi$'])#显示横坐标刻度值,不加第二个参数,将显示的是数值而不是字母
- plt.yticks([-1,0,1,2,3],[r'$-1$','$0$','$+1$','$+2$','$+3$'])
- plt.legend(['y1','y2','y3'])
- plt.title('NEO-Karl')
- ax = plt.gca()#使用gca函数获取axes对象
- ax.spines['right'].set_color('none')#右侧边隐藏
- ax.spines['top'].set_color('none')
- ax.xaxis.set_ticks_position('bottom')#将底边设为横坐标
- ax.spines['bottom'].set_position(('data',0))#将坐标置于坐标0处
- ax.yaxis.set_ticks_position('left')#左边设置为纵坐标
- ax.spines['left'].set_position(('data',0))
- plt.show()
运行结果:
- x = np.arange(-2*np.pi,2*np.pi,0.01)#定义横轴范围
- y = np.sin(3*x)/x#函数
- y2 = np.sin(2*x)/x
- y3 = np.sin(x)/x
- plt.plot(x,y)#绘制,matplotlib默认展示不同的颜色
- plt.plot(x,y2,'--')
- plt.plot(x,y3)
- plt.xticks([-2*np.pi,-np.pi,0,np.pi,2*np.pi],[r'$-2\pi$',r'$\pi$','$0$','$\pi$','$2\pi$'])#显示横坐标刻度值,不加第二个参数,将显示的是数值而不是字母
- plt.yticks([-1,0,1,2,3],[r'$-1$','$0$','$+1$','$+2$','$+3$'])
- plt.legend(['y1','y2','y3'])
- plt.title('NEO-Karl')
- #添加注释,使用annotate函数,第一个参数为:latex表达式,即要现实的字符,xy是注释在图表的数据点位置,xytext表示注释与数据点距离,textcoords='offset points'似乎是必须选?使用arrowprops控制箭头
- plt.annotate(r'$\lim_{x\to 0}\frac{\sin(x)}{x}=1$',xy=[0,1],xytext=[30,30],fontsize=16,textcoords='offset points',arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
- ax = plt.gca()#使用gca函数获取axes对象
- ax.spines['right'].set_color('none')#右侧边隐藏
- ax.spines['top'].set_color('none')
- ax.xaxis.set_ticks_position('bottom')#将底边设为横坐标
- ax.spines['bottom'].set_position(('data',0))#将坐标置于坐标0处
- ax.yaxis.set_ticks_position('left')#左边设置为纵坐标
- ax.spines['left'].set_position(('data',0))
- plt.show()
运行结果:
python+matplotlib+绘制不同图标类型的更多相关文章
- python+matplotlib 绘制等高线
python+matplotlib 绘制等高线 步骤有七: 有一个m*n维的矩阵(data),其元素的值代表高度 构造两个向量:x(1*n)和y(1*m).这两个向量用来构造网格坐标矩阵(网格坐标矩阵 ...
- 【转】使用Python matplotlib绘制股票走势图
转载出处 一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使 ...
- Python Matplotlib绘制气温图表
代码中数据从 www.wunderground.com/history/ 下载 #coding=utf-8 import csv from datetime import datetime from ...
- python matplotlib绘制六种可视化图表
1. 折线图 绘制折线图,如果你数据不是很多的话,画出来的图将是曲折状态,但一旦你的数据集大起来,比如下面我们的示例,有100个点,所以我们用肉眼看到的将是一条平滑的曲线. 这里我绘制三条线,只要执行 ...
- Python matplotlib绘制圆环图
一.语法和参数简介 plt.pie(x2,labels=labels, autopct = '%0.2f%%', shadow= False, startangle =0,labeldistance= ...
- Python学习(一) —— matplotlib绘制三维轨迹图
在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...
- Python 使用 matplotlib绘制3D图形
3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何在Python中使用 matplotlib进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线( ...
- python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...
- Python——使用matplotlib绘制柱状图
Python——使用matplotlib绘制柱状图 1.基本柱状图 首先要安装matplotlib(http://matplotlib.org/api/pyplot_api.htm ...
随机推荐
- window.location的方法属性详解
示例URL:http://b.a.com:88/index.php?name=kang&when=2011#first 属性 含义 值 protocol: 协议 "http:&quo ...
- 2018-2019-2 20175306实验二面向对象程序设计《Java开发环境的熟悉》实验报告
2018-2019-2 20175306实验二面向对象程序设计<Java开发环境的熟悉>实验报告 面向对象程序设计-1 实验要求: 参考:> http://www.cnblogs.c ...
- vscode 插件 与 技巧
lit-html 下载量:3 万 在 JavaScript/TypeScript 的文件中,如果有使用到 HTML 标记,lit-html 提供语法高亮和相应的补全支持. Git History 下载 ...
- Spring ES
elasticsearchTemplate 和 ElasticsearchRepository JPA中有个ElasticsearchRepository可以做Elasticsearch的相关增删改查 ...
- 417 事件、监听、jQuery、轮播手动
am:通用事件 a链接事件阻止默认行为 return false HTML元素大都包含了自己的默认行为,例如:超链接.提交按钮等.我们可以通过在绑定事件中加上return false来阻止它的默认行为 ...
- hibernate查询出的实体,set值后,自动更新到数据
如图: 故事背景:(p.s.我们的项目没有正确配置事务xml文件,未明原因导致事务定义的规则不起作用)获取一个资讯对象,调用该对象的set方法设置其中的content字段,然后把修改后的实体丢到官网首 ...
- JVM中的方法分派
解析调用是一个静态的过程,在编译期间就完全确定,在类装载的解析阶段就会把涉及的符号引用全部转变为可确定的直接引用,不会延迟到运行期再去完成.而分派调用则可能是静态的也可能是动态的,根据分派依据的宗量数 ...
- RNN,写起来真的烦
曾经,为了处理一些序列相关的数据,我稍微了解了一点递归网络 (RNN) 的东西.由于当时只会 tensorflow,就从官网上找了一些 tensorflow 相关的 demo,中间陆陆续续折腾了两个多 ...
- vue 部署404
https://www.cnblogs.com/kevingrace/p/6126762.html 在nginx部署https://www.jianshu.com/p/7017143e3f7a 在ap ...
- CSS 屏幕大小自适应
要想实现css屏幕大小自适应,首先得引入 CSS3 @media 媒体查询器: media的使用和规则: ①被链接文档将显示在什么设备上. ②用于为不同的媒介类型规定不同的样式. 语法: @medi ...