Skip to content

Commit a72e7ea

Browse files
committed
fix
1 parent c0b7cf2 commit a72e7ea

File tree

2 files changed

+64
-8
lines changed

2 files changed

+64
-8
lines changed

2.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
77
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
88
9-
有许多安装 matplotlib 的不同方法,最好的方法取决于您使用的操作系统,已经安装的内容以及如何使用它。 为了避免涉及本页上的所有细节(和潜在的复杂性),有几个方便的选项。
9+
有许多安装 matplotlib 的不同方法,最好的方法取决于你使用的操作系统,已经安装的内容以及如何使用它。 为了避免涉及本页上的所有细节(和潜在的复杂性),有几个方便的选项。
1010

1111
## 安装预构建包
1212

1313
### 多数平台:Python 科学分发包
1414

15-
第一个选项是使用已经内置 matplotlib 的预打包的 Python 分发包。 `Continuum.io` Python 分发包(Anaconda 或 miniconda)和 Enthought 分发包(Canopy)都是在 Windows,OSX 和主流 Linux 平台开箱即用并正常工作的出色选择。 这两个分发包包括 matplotlib 和许多其他有用的工具。
15+
第一个选项是使用已经内置 matplotlib 的预打包的 Python 分发包。 `Continuum.io` Python 分发包(Anaconda 或 miniconda)和 Enthought 分发包(Canopy)都是在 Windows,OSX 和主流 Linux 平台开箱即用并正常工作的出色选择。 这两个分发包包括 matplotlib 和许多其他有用的工具。
1616

1717
### Linux:使用你的包管理器
1818

@@ -40,7 +40,7 @@ python -m pip install matplotlib
4040

4141
Matplotlib 依赖于 Pillow 来读取和保存 JPEG,BMP 和 TIFF 图像文件。 Matplotlib 需要 MiKTeX 和 GhostScript 来使用LaTeX渲染文本。动画模块需要 FFmpeg,avconv,mencoder 或 ImageMagick。
4242

43-
以下后端应该开箱即用:agg,tkagg,ps,pdf 和 svg。对于其他后端,您可能需要安装 pycairo,PyQt4,PyQt5,PySide,wxPython,PyGTK,Tornado 或 GhostScript。
43+
以下后端应该开箱即用:agg,tkagg,ps,pdf 和 svg。对于其他后端,你可能需要安装 pycairo,PyQt4,PyQt5,PySide,wxPython,PyGTK,Tornado 或 GhostScript。
4444

4545
TkAgg 可能是来自标准 Python shell 或 IPython 的,用于交互式的最佳后端。它被启用为官方二进制文件的默认后端。 Windows 不支持 GTK3。
4646

@@ -64,13 +64,13 @@ python setup.py build
6464
python setup.py install
6565
```
6666

67-
我们提供与`setup.py`一起使用的`setup.cfg`文件,您可以使用它来自定义构建过程。 例如,要使用的默认后端,是否安装 matplotlib 附带的某些可选库,等等。 这个文件会对那些包装 matplotlib 的东西特别有用。
67+
我们提供与`setup.py`一起使用的`setup.cfg`文件,你可以使用它来自定义构建过程。 例如,要使用的默认后端,是否安装 matplotlib 附带的某些可选库,等等。 这个文件会对那些包装 matplotlib 的东西特别有用。
6868

69-
如果已经为非标准设施安装了必备组件,并需要通知 matplotlib 它们在哪里,请编辑`setupext.py`并将基本路径添加为`sys.platform``basedir`字典条目。 例如,如果某些所需库的头文件位于`/some/path/include/someheader.h`中,请在您的平台的`basedir`列表中输入`/some/path`
69+
如果已经为非标准设施安装了必备组件,并需要通知 matplotlib 它们在哪里,请编辑`setupext.py`并将基本路径添加为`sys.platform``basedir`字典条目。 例如,如果某些所需库的头文件位于`/some/path/include/someheader.h`中,请在你的平台的`basedir`列表中输入`/some/path`
7070

7171
### 构建需求
7272

73-
这些是外部软件包,您需要在安装 matplotlib 之前安装它们。 如果您在 OSX 上构建,请参阅[在 OSX 上构建](http://matplotlib.org/users/installing.html#build-osx)如果您在 Windows 上构建,请参阅[在 Windows 上构建](http://matplotlib.org/users/installing.html#build-windows)。 如果在 Linux 上使用软件包管理器安装依赖项,则除了库本身之外,还可能需要安装开发包(查找`-dev`后缀)。
73+
这些是外部软件包,你需要在安装 matplotlib 之前安装它们。 如果你在 OSX 上构建,请参阅[在 OSX 上构建](http://matplotlib.org/users/installing.html#build-osx)如果你在 Windows 上构建,请参阅[在 Windows 上构建](http://matplotlib.org/users/installing.html#build-windows)。 如果在 Linux 上使用软件包管理器安装依赖项,则除了库本身之外,还可能需要安装开发包(查找`-dev`后缀)。
7474

7575
#### 所需依赖
7676

@@ -127,7 +127,7 @@ setuptools 为 Python 包安装提供扩展
127127

128128
#### 可选的 GUI 框架
129129

130-
这些是可选软件包,您可能希望安装这些软件包来使 用matplotlib 和用户界面工具包。 有关 matplotlib 可选后端和所提供功能的更多详细信息,请参阅[什么是后端](http://matplotlib.org/faq/usage_faq.html#what-is-a-backend)
130+
这些是可选软件包,你可能希望安装这些软件包来使 用matplotlib 和用户界面工具包。 有关 matplotlib 可选后端和所提供功能的更多详细信息,请参阅[什么是后端](http://matplotlib.org/faq/usage_faq.html#what-is-a-backend)
131131

132132
[tk](http://matplotlib.org/glossary/index.html#term-tk) 8.3 或更新,不包括 8.6.0 和 8.6.1
133133

@@ -201,7 +201,7 @@ su -c "yum-builddep python-matplotlib"
201201

202202
### 在 OSX 上构建
203203

204-
由于可以获取`libpng``freetype`需求(darwinports,fink,/usr/X11R6)的不同位置,不同的架构(例如 x86,ppc,universal)和不同的 OSX 版本 10.4 和 10.5),OSX 的构建情况很复杂。我们建议您使用我们对 OSX 版本所做的方式来构建:从`tarball``git`仓库获取源代码,并按照`README.osx`中的说明进行操作。
204+
由于可以获取`libpng``freetype`需求(darwinports,fink,/usr/X11R6)的不同位置,不同的架构(例如 x86,ppc,universal)和不同的 OSX 版本 10.4 和 10.5),OSX 的构建情况很复杂。我们建议你使用我们对 OSX 版本所做的方式来构建:从`tarball``git`仓库获取源代码,并按照`README.osx`中的说明进行操作。
205205

206206
### 在 Windows 上构建
207207

8.2.md

+56
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,59 @@ fig, axs = plt.subplots(2, 2, sharex=True, sharey=True)
5050
axs[0,0].plot(x)
5151
```
5252

53+
## 修复常见的日期问题
54+
55+
matplotlib 允许你本地绘制 python datetime 实例,并且在大多数情况下,可以很好地挑选刻度位置和字符串格式。 但有几件事情它不能妥善处理,这里有一些技巧,用于帮助你解决他们。 我们将在`numpy`记录数组中加载一些包含`datetime.date`对象的示例日期数据:
56+
57+
```py
58+
In [63]: datafile = cbook.get_sample_data('goog.npy')
59+
60+
In [64]: r = np.load(datafile).view(np.recarray)
61+
62+
In [65]: r.dtype
63+
Out[65]: dtype([('date', '|O4'), ('', '|V4'), ('open', '<f8'),
64+
('high', '<f8'), ('low', '<f8'), ('close', '<f8'),
65+
('volume', '<i8'), ('adj_close', '<f8')])
66+
67+
In [66]: r.date
68+
Out[66]:
69+
array([2004-08-19, 2004-08-20, 2004-08-23, ..., 2008-10-10, 2008-10-13,
70+
2008-10-14], dtype=object)
71+
```
72+
73+
字段日期的`numpy`记录数组的`dtype``| O4`,这意味着它是一个 4 字节的 python 对象指针; 在这种情况下,对象是`datetime.date`实例,当我们在 ipython 终端窗口中打印一些样本时,我们可以看到。
74+
75+
如果你绘制数据,
76+
77+
```py
78+
In [67]: plot(r.date, r.close)
79+
Out[67]: [<matplotlib.lines.Line2D object at 0x92a6b6c>]
80+
```
81+
82+
你会看到 x 轴标签重合到一起。
83+
84+
![](http://matplotlib.org/_images/recipes-2.png)
85+
86+
另一个麻烦是,如果你将鼠标悬停在窗口上,并在 x 和 y 坐标处查看 matplotlib 工具栏([交互式导航](http://matplotlib.org/users/navigation_toolbar.html#navigation-toolbar))的右下角,您会看到 x 位置的格式与刻度标签的格式相同, 例如,“Dec 2004”。 我们想要的是工具栏中的位置具有更高的精确度,例如,鼠标悬停在上面时给我们确切的日期。 为了解决第一个问题,我们可以使用[`matplotlib.figure.Figure.autofmt_xdate()`](http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure.autofmt_xdate)。修复第二个问题,我们可以使用`ax.fmt_xdata`属性,该属性可以设置为任何接受标量并返回字符串的函数。 matplotlib 有一些内置的日期格式化器,所以我们将使用其中的一个。
87+
88+
```py
89+
plt.close('all')
90+
fig, ax = plt.subplots(1)
91+
ax.plot(r.date, r.close)
92+
93+
# rotate and align the tick labels so they look better
94+
fig.autofmt_xdate()
95+
96+
# use a more precise date string for the x axis locations in the
97+
# toolbar
98+
import matplotlib.dates as mdates
99+
ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d')
100+
plt.title('fig.autofmt_xdate fixes the labels')
101+
```
102+
103+
![](http://matplotlib.org/_images/recipes-3.png)
104+
105+
现在,当您将鼠标悬停在绘制的数据上,您将在工具栏中看到如`2004-12-01`的日期格式字符串。
106+
107+
## 透明度填充
108+

0 commit comments

Comments
 (0)