热门问题
时间线
聊天
视角

Matplotlib

Python编程语言的一个绘图库 来自维基百科,自由的百科全书

Matplotlib
Remove ads

MatplotlibPython语言及其数值计算库NumPy绘图英语Plot (graphics)。它提供了一个面向对象API,可以将绘图嵌入到使用通用GUI工具包(如TkinterwxPythonQtGTK)的程序中。它还有一个基于状态机(就像OpenGL)的过程式编程“pylab”接口,其设计与MATLAB非常类似,但由於命名空間的問題,因此建議改用matplotlib.pyplot取代。[3]SciPy使用matplotlib进行图形绘制。

事实速览 原作者, 開發者 ...
Remove ads

Matplotlib最初由美國神經生物學家John D. Hunter英语John D. Hunter撰写,於2003年面世,从此它拥有一个活跃的开发社区[4],并根据BSD许可证发布。 在John D. Hunter于2012年8月去世前不久,Michael Droettboom被提名为matplotlib的主要开发者[5],随后,Thomas Caswell也加入了他的行列。[6][7]Matplotlib是一个由NumFOCUS财政资助的项目。[8]

Matplotlib 2.0.x支持Python 2.7到3.10版本。Matplotlib 1.2是第一个支持Python 3.x的版本。Matplotlib 1.4是最后一个支持Python 2.6的版本。[9]Matplotlib已签署Python 3声明,承诺在2020年后不再支持Python 2。[10]

Remove ads

与MATLAB的比较

Pyplot是matplotlib的一个模块,它提供了一个类似MATLAB的接口。 [11]Matplotlib被设计成与MATLAB一样可用,能够使用Python,并且具有自由开源的优点。

与 Gnuplot的比较

gnuplot和matplotlib都是成熟的开源项目。 它们都可以产生多种不同绘图类型。 虽然很难指定一种某人能做而他人不能做的图形类型,但它们仍然具有不同的优点和缺点:

更多信息 优点, 缺点 ...
Remove ads

例子

总结
视角

 曲线图

Thumb
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> a = np.linspace(0,10,100)
>>> b = np.exp(-a)
>>> plt.plot(a,b)
>>> plt.show()

直方图

Thumb
>>> import matplotlib.pyplot as plt
>>> from numpy.random import normal,rand
>>> x = normal(size=200)
>>> plt.hist(x,bins=30)
>>> plt.show()

散点图

Thumb
>>> import matplotlib.pyplot as plt
>>> from numpy.random import rand
>>> a = rand(100)
>>> b = rand(100)
>>> plt.scatter(a,b)
>>> plt.show()

3D 图

Thumb
>>> from matplotlib import cm
>>> from mpl_toolkits.mplot3d import Axes3D
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> fig = plt.figure()
>>> # ax = fig.gca(projection='3d') (Old)
>>> ax = fig.add_subplot(projection='3d')
>>> X = np.arange(-5, 5, 0.25)
>>> Y = np.arange(-5, 5, 0.25)
>>> X, Y = np.meshgrid(X, Y)
>>> R = np.sqrt(X**2 + Y**2)
>>> Z = np.sin(R)
>>> surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
>>> plt.show()

更多例子

轶事

Thumb
使用xkcd风格绘制的正弦函数图像

为了致敬xkcd,matplotlib加入了matplotlib.pyplot.xkcd()函数,模仿xkcd的漫画风格进行绘图。[12][13]

参考资料

Loading content...

参见

外部链接

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads