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

Posted PerfectWanan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

运行结果:

 

以上是关于python+matplotlib+绘制不同图标类型的主要内容,如果未能解决你的问题,请参考以下文章

机器学习--matplotlib绘制各种图标

python matplotlib一张图中绘制不同类型叠加图

使用 python 中的 windrose 模块绘制带有风玫瑰的不同子图。在 matplotlib 中使用睡眠

python数据可视化--matplotlib绘制散点图

Matplotlib使用scatter函数在Python中绘制气泡图(bubble plot)通过size参数指定数据点的大小自定义不同分组的气泡的色彩

Python中数据可视化的两个库!