在此期间,我正在使用matplotlib.我研究了很多例子,并且能够修改它以满足我的一些需求.但我想更好地了解库的一般结构.出于这个原因,除了在网上阅读了很多教程之外,我还购买了Tosi的电子书"Matplotlib for Python Developers".虽然它充满了很好的例子,但我仍然没有完全掌握所有不同层次之间的关系.
该书清楚地解释了matplotlib有3个主要的"模式":
1)pylab,与Matlab类似地工作
2)pyplot,以程序方式工作
3)完整的OO系统
关于面向对象系统的目标,该书列出了3个级别:
1)FigureCanvas,图实例的容器类
2)图,Axes实例的容器
3)轴,包含基本元素的区域(线,点,文本......)
问题是,通过阅读官方文档,我也遇到了后端和艺术家的概念.虽然我理解他们的基本逻辑,但我对他们对以前的分类的角色方面感到很困惑.特别是,艺术家是否位于FigureCanvas和Figure之间的中间层,或者这种层次结构在这种情况下是不合适的?
我将很感激收到一些澄清,最后还提到我可能错过的其他文件.谢谢.
有没有办法在 Numpy 中获得更好的矩阵格式,例如类似于 Sage 中的 show() 或 Sympy 中的 init_printing() 获得的结果?
我正在研究 Craig Finch 写的关于 Sage 的书,在关于线性代数的章节中,很明显 Sage 的输出与 Numpy 的输出之间的质量和清晰度差异。有没有办法最终直接在 IPython 笔记本中提高 Numpy 输出质量?
只是为了澄清我的要求:我习惯了 Sage 笔记本,但想探索 Ipython 笔记本的新可能性。我特别想准备一些关于线性代数和Numpy的笔记本。但是 Numpy 的简单纯文本输出不是特别好或清晰(http://nbviewer.ipython.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-2-Numpy.ipynb),我会喜欢某种排版风格,特别是矩阵(方括号、圆括号、行列式竖线等)。