fbpx
维基百科

matplotlib

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

matplotlib
Screenshot of matplotlib plots and code
原作者John D. Hunter英语John D. Hunter
開發者Michael Droettboom, et al.
首次发布2003年,​20年前​(2003[1]
当前版本
  • 3.8.2 (2023年11月17日;穩定版本)[2]
源代码库
  • github.com/matplotlib/matplotlib
编程语言Python
引擎
操作系统跨平臺
类型绘图英语List of information graphics software
许可协议matplotlib license
网站matplotlib.org

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

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

与MATLAB的比较 编辑

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

与 Gnuplot的比较 编辑

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

优点 缺点
Matplotlib
  • 带有内置代码的默认绘图样式
  • 与Python的深度集成
  • Matlab风格的编程接口(对一些人来说是优点,但对于其他人来说可能是缺点)。
  • 图形绘制相较Gnuplot更加美观
  • 高度依赖其他包,如Numpy。
  • 只适用于Python:很难/不可能在Python以外的语言中使用。 (但可以从Julia通过PyPlot软件包使用)
Gnuplot
  • 跨语言解决方案:可以用作通过管道或文件以不同语言编写的应用程序(例如GNU Octave,Maxima,JavaGnuplotHybrid)中的绘图引擎。
  • 独立程序:没有外部依赖。
  • 处理大型数据集时非常快。
  • 更容易操纵绘图细节
  • 旧的默认绘图样式:通常需要小的调整以产生有吸引力的图。
  • 在开发中活跃成员的数量较少(与Matplotlib相比)。

例子 编辑

 曲线图

 
>>> 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() 

直方图

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

散点图

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

3D 图

 
>>> 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() 

更多例子

轶事 编辑

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

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

参考资料 编辑

  1. ^ Copyright Policy. [2017-02-23]. (原始内容于2020-12-02). 
  2. ^ Release 3.8.2. 2023年11月17日 [2023年11月19日]. 
  3. ^ Releases – matplotlib. [2019-05-13]. (原始内容于2020-11-11). 
  4. ^ API Overview. matplotlib.org. [2021-06-18]. (原始内容于2021-07-01). 
  5. ^ . matplotlib.org. [2021-06-18]. (原始内容存档于2021-06-24). 
  6. ^ Announcing Michael Droettboom as the lead matplotlib developer. matplotlib.org. [2017-02-23]. (原始内容于2020-10-27). 
  7. ^ . NumFOCUS. 2017-10-05 [2018-04-11]. (原始内容存档于2021-06-28) (美国英语). 
  8. ^ . matplotlib.org. [2018-04-11]. (原始内容存档于2021-06-24). 
  9. ^ NumFOCUS Sponsored Projects. NumFOCUS. [2021-10-25]. (原始内容于2023-06-04). 
  10. ^ . [2017-06-23]. (原始内容存档于2021-06-24). 
  11. ^ . GitHub. [2018-04-11]. (原始内容存档于2020-11-20) (英语). 
  12. ^ . matplotlib.org. [2020-03-14]. (原始内容存档于2021-05-07). 
  13. ^ . matplotlib.org. [2021-07-05]. (原始内容存档于2021-07-09) (英语). 
  14. ^ . matplotlib.org. [2021-07-05]. (原始内容存档于2021-07-11) (英语). 

外部链接 编辑

  • 官方网站

matplotlib, 此條目翻譯品質不佳, 翻譯者可能不熟悉中文或原文語言, 也可能使用了機器翻譯, 請協助翻譯本條目或重新編寫, 并注意避免翻译腔的问题, 明顯拙劣的翻譯請改掛, href, template, html, class, redirect, title, template, href, wikipedia, html, class, redirect, title, wikipedia, 提交刪除, matplotlib是python语言及其数值计算库numpy的绘图, 英语, plotter,. 此條目翻譯品質不佳 翻譯者可能不熟悉中文或原文語言 也可能使用了機器翻譯 請協助翻譯本條目或重新編寫 并注意避免翻译腔的问题 明顯拙劣的翻譯請改掛 a href Template D html class mw redirect title Template D d a a href Wikipedia CSD html G13 class mw redirect title Wikipedia CSD G13 a 提交刪除 Matplotlib是Python语言及其数值计算库NumPy的绘图 英语 Plotter 库 它提供了一个面向对象的API 可以将绘图嵌入到使用通用GUI工具包 如Tkinter wxPython Qt或GTK 的程序中 它还有一个基于状态机 就像OpenGL 的过程式编程 pylab 接口 其设计与MATLAB非常类似 但由於命名空間的問題 因此建議改用matplotlib pyplot取代 4 SciPy使用matplotlib进行图形绘制 matplotlibScreenshot of matplotlib plots and code原作者John D Hunter 英语 John D Hunter 開發者Michael Droettboom et al 首次发布2003年 20年前 2003 1 当前版本3 8 2 2023年11月17日 穩定版本 2 源代码库github wbr com wbr matplotlib wbr matplotlib编程语言Python引擎Cairo操作系统跨平臺类型绘图 英语 List of information graphics software 许可协议matplotlib license网站matplotlib wbr orgMatplotlib最初由John D Hunter 英语 John D Hunter 撰写 从此它拥有一个活跃的开发社区 5 并根据BSD许可证发布 在John D Hunter于2012年8月去世前不久 Michael Droettboom被提名为matplotlib的主要开发者 6 随后 Thomas Caswell也加入了他的行列 7 8 Matplotlib是一个由NumFOCUS财政资助的项目 9 Matplotlib 2 0 x支持Python 2 7到3 10版本 Matplotlib 1 2是第一个支持Python 3 x的版本 Matplotlib 1 4是最后一个支持Python 2 6的版本 10 Matplotlib已签署Python 3声明 承诺在2020年后不再支持Python 2 11 目录 1 与MATLAB的比较 2 与 Gnuplot的比较 3 例子 4 轶事 5 参考资料 6 外部链接与MATLAB的比较 编辑Pyplot是matplotlib的一个模块 它提供了一个类似MATLAB的接口 12 Matplotlib被设计成与MATLAB一样可用 能够使用Python 并且具有自由开源的优点 与 Gnuplot的比较 编辑gnuplot和matplotlib都是成熟的开源项目 它们都可以产生多种不同绘图类型 虽然很难指定一种某人能做而他人不能做的图形类型 但它们仍然具有不同的优点和缺点 优点 缺点Matplotlib 带有内置代码的默认绘图样式 与Python的深度集成 Matlab风格的编程接口 对一些人来说是优点 但对于其他人来说可能是缺点 图形绘制相较Gnuplot更加美观 高度依赖其他包 如Numpy 只适用于Python 很难 不可能在Python以外的语言中使用 但可以从Julia通过PyPlot软件包使用 Gnuplot 跨语言解决方案 可以用作通过管道或文件以不同语言编写的应用程序 例如GNU Octave Maxima JavaGnuplotHybrid 中的绘图引擎 独立程序 没有外部依赖 处理大型数据集时非常快 更容易操纵绘图细节 旧的默认绘图样式 通常需要小的调整以产生有吸引力的图 在开发中活跃成员的数量较少 与Matplotlib相比 例子 编辑 曲线图 nbsp gt gt gt import matplotlib pyplot as plt gt gt gt import numpy as np gt gt gt a np linspace 0 10 100 gt gt gt b np exp a gt gt gt plt plot a b gt gt gt plt show 直方图 nbsp gt gt gt import matplotlib pyplot as plt gt gt gt from numpy random import normal rand gt gt gt x normal size 200 gt gt gt plt hist x bins 30 gt gt gt plt show 散点图 nbsp gt gt gt import matplotlib pyplot as plt gt gt gt from numpy random import rand gt gt gt a rand 100 gt gt gt b rand 100 gt gt gt plt scatter a b gt gt gt plt show 3D 图 nbsp gt gt gt from matplotlib import cm gt gt gt from mpl toolkits mplot3d import Axes3D gt gt gt import matplotlib pyplot as plt gt gt gt import numpy as np gt gt gt fig plt figure gt gt gt ax fig gca projection 3d Old gt gt gt ax fig add subplot projection 3d gt gt gt X np arange 5 5 0 25 gt gt gt Y np arange 5 5 0 25 gt gt gt X Y np meshgrid X Y gt gt gt R np sqrt X 2 Y 2 gt gt gt Z np sin R gt gt gt surf ax plot surface X Y Z rstride 1 cstride 1 cmap cm coolwarm gt gt gt plt show 更多例子 nbsp Image plot nbsp Contour plot nbsp Scatter plot nbsp Polar plot nbsp Line plot nbsp 3 D plot nbsp Image plot轶事 编辑 nbsp 使用xkcd风格绘制的正弦函数图像为了致敬xkcd matplotlib加入了matplotlib pyplot xkcd 函数 模仿xkcd的漫画风格进行绘图 13 14 参考资料 编辑 Copyright Policy 2017 02 23 原始内容存档于2020 12 02 Release 3 8 2 2023年11月17日 2023年11月19日 Releases matplotlib 2019 05 13 原始内容存档于2020 11 11 API Overview matplotlib org 2021 06 18 原始内容存档于2021 07 01 Matplotlib github stats matplotlib org 2021 06 18 原始内容存档于2021 06 24 Announcing Michael Droettboom as the lead matplotlib developer matplotlib org 2017 02 23 原始内容存档于2020 10 27 Matplotlib Lead Developer Explains Why He Can t Fix the Docs But You Can NumFOCUS NumFOCUS 2017 10 05 2018 04 11 原始内容存档于2021 06 28 美国英语 Credits Matplotlib 2 2 2 documentation matplotlib org 2018 04 11 原始内容存档于2021 06 24 NumFOCUS Sponsored Projects NumFOCUS 2021 10 25 原始内容存档于2023 06 04 Installing Matplotlib 2 0 2 documentation 2017 06 23 原始内容存档于2021 06 24 Add Matplotlib to list by takluyver Pull Request 20 python3statement python3statement github io GitHub 2018 04 11 原始内容存档于2020 11 20 英语 Matplotlib Python plotting Matplotlib 3 2 0 documentation matplotlib org 2020 03 14 原始内容存档于2021 05 07 matplotlib pyplot xkcd Matplotlib 3 4 2 documentation matplotlib org 2021 07 05 原始内容存档于2021 07 09 英语 XKCD Matplotlib 3 4 2 documentation matplotlib org 2021 07 05 原始内容存档于2021 07 11 英语 外部链接 编辑维基共享资源中相关的多媒体资源 Matplotlib官方网站 取自 https zh wikipedia org w index php title Matplotlib amp oldid 79031193, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。