很多时候,我们需要用python画图,这样就可以更加直观的看到数据的走势,而不是干巴巴的数字。
今天,我们就给大家整理了一下python画图的常用函数,由于篇幅限制。无法将这些函数的使用方法全部表现出来。所以,我们只举一些典型的函数的例子。
说道绘制图形,matplotlib是一个绕不开的第三方库。
首先我们就需要安装好这个模块。可以参考这篇推文:
python模块安装(大合集)
这个模块中有很多函数,大家可以在百度上直接搜索到使用方法。
基础图标函数。
函数 | 说明 |
plt.plot(x,y,fmt,...) | 坐标图 |
plt.boxplot(data,notch,position) | 箱型图 |
plt.bar() | 条形图 |
plt.barh() | 横向条形图 |
plt.polar() | 极坐标图 |
plt.pie() | 饼状图 |
例题1:画一个极坐标图。
我举一个绘制极坐标图的例子:
其中产生的值是随机的,用到的是random
import matplotlib.pyplot as pltimport numpy as npbarSlices = 12theta = np.linspace(0.0, 2*np.pi, barSlices, endpoint=False)r = 30*np.random.rand(barSlices)plt.polar(theta, r, color="chartreuse", linewidth=2, marker="*", mfc="b", ms=10)plt.show()
plt.polar功能:在极坐标轴上绘制折线图
theta:每个标记所在射线与极径的夹角
r:每个标记到原点的距离
效果如下:
接下来,我们看一看如何绘制一些专业的图像,比如,学通信的同学要经常绘制频谱图之类的。我们有下面的函数可以使用。
函数 | 功能 |
plt.psd() | 功率谱密度图 |
plt.specgram() | 谱图 |
plt.cohere() | 绘制X与Y的相关性 |
plt.scatter() | 散点图 |
plt.step() | 步阶图 |
plt.hist() | 直方图 |
例题2:绘制X与Y的相关性图。
代码如下:
import numpy as npimport matplotlib.pyplot as pltN = 100x = np.random.randn(N)y = np.random.randn(N)plt.scatter(x, y)plt.show()
画图效果是这样的:
大家也可以设置参数,修改其中的点的颜色和大小。
三维图
最后,我们其实还可以绘制三维图。主要知识留到下一期讲吧!
我们在这一期的结尾给大家只展示一个绘制地形图的函数。
我们用到的函数是plot_surface。
例题3:绘制一个三维图。
效果如下:
代码是这样的:
import numpy as npimport matplotlib.pyplot as pltimport mpl_toolkits.mplot3da,b = np.mgrid[-2:0.5:20j,-2:0.5:20j]#测试数据c=a*np.exp(-a**2-b**2)#三维图形ax = plt.subplot(111, projection='3d')ax.set_title('图形');ax.plot_surface(a,b,c,rstride=2, cstride=1, cmap=plt.cm.Spectral)#设置坐标轴标签ax.set_xlabel('A')ax.set_ylabel('B')ax.set_zlabel('C')plt.show()
封面来源:千图网
参考来源:https://www.cnblogs.com/ruo-li-suo-yi/p/7758403.html
参考来源:https://www.cnblogs.com/czz0508/p/10452601.html