python+matplotlib+绘制不同图标类型

#==================================================================
#首先需要导入两个文件
import matplotlib.pyplot as plt
import numpy as np
#==================================================================

 1 #==================================================================
 2 #首先需要导入两个文件
 3 import  matplotlib.pyplot as plt
 4 import  numpy as np
 5 #==================================================================
 6 #绘制线性图
 7 x = np.arange(-2*np.pi,2*np.pi,0.01)#定义横轴范围(-2pi 2pi)
 8 y = np.sin(3*x)/x#函数
 9 y2 = np.sin(2*x)/x
10 y3 = np.sin(x)/x
11 plt.plot(x,y)#绘制,matplotlib默认展示不同的颜色
12 plt.plot(x,y2,‘--‘)
13 plt.plot(x,y3)
14 plt.xticks([-2*np.pi,-np.pi,0,np.pi,2*np.pi],[r‘$-2\pi$‘,r‘$\pi$‘,‘$0$‘,‘$\pi$‘,‘$2\pi$‘])#显示横坐标刻度值,不加第二个参数,将显示的是数值而不是字母
15 plt.yticks([-1,0,1,2,3],[r‘$-1$‘,‘$0$‘,‘$+1$‘,‘$+2$‘,‘$+3$‘])
16 plt.legend([‘y1‘,‘y2‘,‘y3‘])
17 plt.title(‘NEO-Karl‘)
18 plt.show()

运行结果:

 1 #将坐标轴移到中间,即笛卡尔坐标轴。
 2 # 路径:将图形上,右边隐藏,将下,左边移动到中间,需要用到gac函数获取Axes对象
 3 # 接着通过这个对象指定每条边的位置,使用set_color设置成none。实现代码如下:
 4 x = np.arange(-2*np.pi,2*np.pi,0.01)#定义横轴范围
 5 y = np.sin(3*x)/x#函数
 6 y2 = np.sin(2*x)/x
 7 y3 = np.sin(x)/x
 8 plt.plot(x,y)#绘制,matplotlib默认展示不同的颜色
 9 plt.plot(x,y2,‘--‘)
10 plt.plot(x,y3)
11 plt.xticks([-2*np.pi,-np.pi,0,np.pi,2*np.pi],[r‘$-2\pi$‘,r‘$\pi$‘,‘$0$‘,‘$\pi$‘,‘$2\pi$‘])#显示横坐标刻度值,不加第二个参数,将显示的是数值而不是字母
12 plt.yticks([-1,0,1,2,3],[r‘$-1$‘,‘$0$‘,‘$+1$‘,‘$+2$‘,‘$+3$‘])
13 plt.legend([‘y1‘,‘y2‘,‘y3‘])
14 plt.title(‘NEO-Karl‘)
15 ax = plt.gca()#使用gca函数获取axes对象
16 ax.spines[‘right‘].set_color(‘none‘)#右侧边隐藏
17 ax.spines[‘top‘].set_color(‘none‘)
18 ax.xaxis.set_ticks_position(‘bottom‘)#将底边设为横坐标
19 ax.spines[‘bottom‘].set_position((‘data‘,0))#将坐标置于坐标0处
20 ax.yaxis.set_ticks_position(‘left‘)#左边设置为纵坐标
21 ax.spines[‘left‘].set_position((‘data‘,0))
22 plt.show()

运行结果:

 1 x = np.arange(-2*np.pi,2*np.pi,0.01)#定义横轴范围
 2 y = np.sin(3*x)/x#函数
 3 y2 = np.sin(2*x)/x
 4 y3 = np.sin(x)/x
 5 plt.plot(x,y)#绘制,matplotlib默认展示不同的颜色
 6 plt.plot(x,y2,‘--‘)
 7 plt.plot(x,y3)
 8 plt.xticks([-2*np.pi,-np.pi,0,np.pi,2*np.pi],[r‘$-2\pi$‘,r‘$\pi$‘,‘$0$‘,‘$\pi$‘,‘$2\pi$‘])#显示横坐标刻度值,不加第二个参数,将显示的是数值而不是字母
 9 plt.yticks([-1,0,1,2,3],[r‘$-1$‘,‘$0$‘,‘$+1$‘,‘$+2$‘,‘$+3$‘])
10 plt.legend([‘y1‘,‘y2‘,‘y3‘])
11 plt.title(‘NEO-Karl‘)
12 #添加注释,使用annotate函数,第一个参数为:latex表达式,即要现实的字符,xy是注释在图表的数据点位置,xytext表示注释与数据点距离,textcoords=‘offset points‘似乎是必须选?使用arrowprops控制箭头
13 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‘))
14 ax = plt.gca()#使用gca函数获取axes对象
15 ax.spines[‘right‘].set_color(‘none‘)#右侧边隐藏
16 ax.spines[‘top‘].set_color(‘none‘)
17 ax.xaxis.set_ticks_position(‘bottom‘)#将底边设为横坐标
18 ax.spines[‘bottom‘].set_position((‘data‘,0))#将坐标置于坐标0处
19 ax.yaxis.set_ticks_position(‘left‘)#左边设置为纵坐标
20 ax.spines[‘left‘].set_position((‘data‘,0))
21 plt.show()

运行结果:

原文地址:https://www.cnblogs.com/PerfectWanan/p/9119016.html

时间: 2024-08-23 15:15:26

python+matplotlib+绘制不同图标类型的相关文章

Python + Matplotlib 绘制 Penrose 铺砌

效果是不是很漂亮呢? 代码如下: #----------------------------------------- # Python + Matplotlib 绘制 Penrose 铺砌 # by Zhao Liang [email protected] #----------------------------------------- import matplotlib.pyplot as plt import numpy as np from matplotlib.path impor

Python + Matplotlib 绘制 Aztec Diamond 图的随机铺砌

一个 $n$ 阶的 Aztec Diamond 图,是指依次将 $2,4,\ldots,2n,2n,\ldots,4,2$ 个单位方格摞在一起得到的对称图形(于是图中一共有 $2n(n+1)$ 个单位方格).下图是 $n=5$ 时候的例子: 对一个 $n$ 阶的 Aztec Diamond 图,用 $1\times 2$ 的多米诺骨牌铺砌它,总共有 $2^{n(n+1)}$ 种不同的方法.(这里不考虑对称性,比如全部用水平的骨牌铺砌和全部用竖直的骨牌铺砌,两种方法是不同的) 一个有趣的问题是,对

python+matplotlib 绘制等高线

python+matplotlib 绘制等高线 步骤有七: 有一个m*n维的矩阵(data),其元素的值代表高度 构造两个向量:x(1*n)和y(1*m).这两个向量用来构造网格坐标矩阵(网格坐标矩阵m*n维,可见与data同) 构造网格坐标矩阵X,Y 进行颜色填充 画等高线 等高线的描述 删掉坐标系 1. 构造一下高度矩阵: def f(x,y): """ 计算高度的函数 :param x: 向量 :param y: 向量 :return: dim(x)*dim(y)维的矩

python matplotlib 绘制三次函数图像

安装的是anaconda, 其中包含了numpy, scipy, matplotlib 等科学计算包 https://www.continuum.io/downloads 在终端打开anaconda中的python /home/qi/anaconda/bin/python >>> from matplotlib import pyplot as pl >>> import numpy as np >>> from scipy import interp

Python + Matplotlib 绘制 Mandelbrot 集合

这方面网上的代码俯拾皆是,这里贴一个代码简洁的版本,效果也是很不错的.

广义mandelbrot集,使用python的matplotlib绘制,支持放大缩小

迭代公式的指数,使用的1+5j,这是个复数,所以是广义mandelbrot集,大家可以自行修改指数,得到其他图形.各种库安装不全的,自行想办法,可以在这个网站找到几乎所有的python库 http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib #encoding=utf-8 import numpy as np import pylab as pl import time from matplotlib import cm from math

Python 使用 matplotlib绘制3D图形

3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何在Python中使用 matplotlib进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线(曲线)以及3D文字等的绘制. 准备工作: python中绘制3D图形,依旧使用常用的绘图模块matplotlib,但需要安装mpl_toolkits工具包,安装方法如下:windows命令行进入到python安装目录下的Scripts文件夹下,执行: pip install --upgrade ma

python matplotlib模块——绘制三维图形、三维数据散点图(转)

转自https://blog.csdn.net/eddy_zheng/article/details/48713449 python matplotlib模块,是扩展的MATLAB的一个绘图工具库.他可以绘制各种图形,可是最近最的一个小程序,得到一些三维的数据点图,就学习了下python中的matplotlib模块,如何绘制三维图形. 初学者,可能对这些第三方库安装有一定的小问题,对于一些安装第三方库经验较少的朋友,建议使用 Anaconda ,集成了很多第三库,基本满足大家的需求,下载地址,对

Python使用matplotlib绘制三维曲线

本文主要演示如何使用matplotlib绘制三维图形 代码如下: # -*- coding: UTF-8 -*- import matplotlib as mpl from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as plt # 设置图例字号 mpl.rcParams['legend.fontsize'] = 10 fig = plt.figure() # 设置三维图形模式 a