modify
@@ -32,7 +32,7 @@ Matplotlib可以说是python数据可视化最重要且常见的工具之一,
|
||||
|
||||
- 使用前请将matplotlib升级至V3.4.2以上(2022年1月),否则可能会出现报错!
|
||||
- 本教程独立网站已上线:[https://datawhalechina.github.io/fantastic-matplotlib/](https://datawhalechina.github.io/fantastic-matplotlib/)
|
||||
- 使用时若发现任何问题,或是你对项目内容有好的建议,欢迎留言交流,联系邮箱skywateryang@126.com
|
||||
- 使用时若发现任何问题,或是你对项目内容有好的建议,欢迎留言交流,联系邮箱skywateryang@126.com,微信`skywateryang`
|
||||
|
||||
|
||||
## 目录
|
||||
@@ -60,6 +60,8 @@ Matplotlib可以说是python数据可视化最重要且常见的工具之一,
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 致谢
|
||||
|
||||
感谢以下Datawhale成员对项目推进作出的贡献(排名不分先后):
|
||||
|
||||
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 3.9 KiB |
BIN
docs/_images/index_18_01.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 13 KiB |
BIN
docs/_images/index_22_0.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
docs/_images/index_22_01.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 25 KiB |
BIN
docs/_images/index_24_0.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
docs/_images/index_24_01.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 9.4 KiB |
BIN
docs/_images/index_26_0.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
docs/_images/index_26_01.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 25 KiB |
BIN
docs/_images/index_28_0.png
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
docs/_images/index_28_01.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
docs/_images/index_30_1.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 14 KiB |
BIN
docs/_images/index_32_0.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 5.1 KiB |
BIN
docs/_images/index_34_0.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
docs/_images/index_36_1.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 10 KiB |
BIN
docs/_images/index_38_0.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
BIN
docs/_images/index_40_0.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 4.7 KiB |
BIN
docs/_images/index_7_1.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 12 KiB |
BIN
docs/_images/index_8_02.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 5.8 KiB |
@@ -6,6 +6,9 @@ kernelspec:
|
||||
display_name: Python 3
|
||||
name: python3
|
||||
---
|
||||
|
||||
|
||||
# 第二回:艺术画笔见乾坤
|
||||
```{code-cell} ipython3
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
@@ -16,9 +19,6 @@ from matplotlib.lines import Line2D
|
||||
from matplotlib.patches import Circle, Wedge
|
||||
from matplotlib.collections import PatchCollection
|
||||
```
|
||||
|
||||
# 第二回:艺术画笔见乾坤
|
||||
|
||||
## 一、概述
|
||||
|
||||
### 1. matplotlib的三层api
|
||||
@@ -224,7 +224,7 @@ Patch类的构造函数:
|
||||
hatch=None, fill=True, capstyle=None, joinstyle=None,
|
||||
**kwargs)
|
||||
|
||||
本小节重点讲述三种最常见的子类,矩形,多边形和楔型。
|
||||
本小节重点讲述三种最常见的子类,矩形,多边形和楔形。
|
||||
|
||||
|
||||
#### a. Rectangle-矩形
|
||||
@@ -251,10 +251,11 @@ Rectangle本身的主要比较简单,即xy控制锚点,width和height分别
|
||||
+ **log**: bool,默认False,即y坐标轴是否选择指数刻度
|
||||
+ **stacked**: bool,默认为False,是否为堆积状图
|
||||
|
||||
hist绘制直方图
|
||||
|
||||
|
||||
|
||||
```{code-cell} ipython3
|
||||
# hist绘制直方图
|
||||
x=np.random.randint(0,100,100) #生成[0-100)之间的100个数据,即 数据集
|
||||
bins=np.arange(0,101,10) #设置连续的边界值,即直方图的分布区间[0,10),[10,20)...
|
||||
plt.hist(x,bins,color='fuchsia',alpha=0.5)#alpha设置透明度,0为完全透明
|
||||
@@ -268,10 +269,11 @@ plt.xlim(0,100); #设置x轴分布范围 plt.show()
|
||||
|
||||
|
||||
|
||||
`Rectangle`矩形类绘制直方图
|
||||
|
||||
|
||||
|
||||
```{code-cell} ipython3
|
||||
# Rectangle矩形类绘制直方图
|
||||
df = pd.DataFrame(columns = ['data'])
|
||||
df.loc[:,'data'] = x
|
||||
df['fenzu'] = pd.cut(df['data'], bins=bins, right = False,include_lowest=True)
|
||||
@@ -402,10 +404,11 @@ matplotlib.pyplot.pie语法:
|
||||
+ **colors**:饼图循环使用的颜色序列。如果取值为None,将使用当前活动循环中的颜色。
|
||||
+ **startangle**:饼状图开始的绘制的角度。
|
||||
|
||||
pie绘制饼状图
|
||||
|
||||
|
||||
|
||||
```{code-cell} ipython3
|
||||
# pie绘制饼状图
|
||||
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
|
||||
sizes = [15, 30, 45, 10]
|
||||
explode = (0, 0.1, 0, 0)
|
||||
@@ -420,10 +423,11 @@ ax1.axis('equal'); # Equal aspect ratio ensures that pie is drawn as a circle.
|
||||
|
||||
|
||||
|
||||
wedge绘制饼图
|
||||
|
||||
|
||||
|
||||
```{code-cell} ipython3
|
||||
# wedge绘制饼图
|
||||
fig = plt.figure(figsize=(5,5))
|
||||
ax1 = fig.add_subplot(111)
|
||||
theta1 = 0
|
||||
|
||||
@@ -7,7 +7,11 @@ kernelspec:
|
||||
name: python3
|
||||
---
|
||||
# 第五回:样式色彩秀芳华
|
||||
|
||||
```{code-cell} ipython3
|
||||
import matplotlib as mpl
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
```
|
||||
|
||||
第五回详细介绍matplotlib中样式和颜色的使用,绘图样式和颜色是丰富可视化图表的重要手段,因此熟练掌握本章可以让可视化图表变得更美观,突出重点和凸显艺术性。
|
||||
关于绘图样式,常见的有3种方法,分别是修改预定义样式,自定义样式和rcparams。
|
||||
@@ -23,11 +27,7 @@ kernelspec:
|
||||
matplotlib贴心地提供了许多内置的样式供用户使用,使用方法很简单,只需在python脚本的最开始输入想使用style的名称即可调用,尝试调用不同内置样式,比较区别
|
||||
|
||||
|
||||
```{code-cell} ipython3
|
||||
import matplotlib as mpl
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
```
|
||||
|
||||
|
||||
|
||||
```{code-cell} ipython3
|
||||
@@ -125,7 +125,7 @@ plt.plot([1,2,3,4],[2,3,4,5]);
|
||||
|
||||
|
||||
|
||||
另外matplotlib也还提供了了一种更便捷的修改样式方式,可以一次性修改多个样式。
|
||||
另外matplotlib也还提供了一种更便捷的修改样式方式,可以一次性修改多个样式。
|
||||
|
||||
|
||||
```{code-cell} ipython3
|
||||
@@ -142,7 +142,6 @@ plt.plot([1,2,3,4],[2,3,4,5]);
|
||||
`色相`: 没有明显的顺序性、一般不用来表达数据量的高低,而是用来表达数据列的类别。
|
||||
`明度和饱和度`: 在视觉上很容易区分出优先级的高低、被用作表达顺序或者表达数据量视觉通道。
|
||||
具体关于色彩理论部分的知识,不属于本教程的重点,请参阅有关拓展材料学习。
|
||||
[ECharts数据可视化实验室](https://vis.baidu.com/chartcolor/basis/)
|
||||
[学会这6个可视化配色基本技巧,还原数据本身的意义](https://zhuanlan.zhihu.com/p/88892542)
|
||||
|
||||
在matplotlib中,设置颜色有以下几种方式:
|
||||
|
||||
@@ -368,7 +368,7 @@ ax.xaxis.set_major_formatter(formatoddticks);
|
||||
|
||||
|
||||
在普通的绘图中,我们可以直接通过上图的set_ticks进行设置刻度的位置,缺点是需要自己指定或者接受matplotlib默认给定的刻度。当需要更改刻度的位置时,matplotlib给了常用的几种locator的类型。如果要绘制更复杂的图,可以先设置locator的类型,然后通过axs.xaxis.set_major_locator(locator)绘制即可
|
||||
locator=plt.MaxNLocator(nbins=7)
|
||||
locator=plt.MaxNLocator(nbins=7)#自动选择合适的位置,并且刻度之间最多不超过7(nbins)个间隔
|
||||
locator=plt.FixedLocator(locs=[0,0.5,1.5,2.5,3.5,4.5,5.5,6])#直接指定刻度所在的位置
|
||||
locator=plt.AutoLocator()#自动分配刻度值的位置
|
||||
locator=plt.IndexLocator(offset=0.5, base=1)#面元间距是1,从0.5开始
|
||||
@@ -385,7 +385,7 @@ for n, ax in enumerate(axs.flat):
|
||||
locator = matplotlib.ticker.AutoLocator()
|
||||
axs[0, 0].xaxis.set_major_locator(locator)
|
||||
|
||||
locator = matplotlib.ticker.MaxNLocator(nbins=10)
|
||||
locator = matplotlib.ticker.MaxNLocator(nbins=3)
|
||||
axs[0, 1].xaxis.set_major_locator(locator)
|
||||
|
||||
|
||||
|
||||
@@ -307,7 +307,9 @@
|
||||
|
||||
<div>
|
||||
|
||||
<div class="cell docutils container">
|
||||
<div class="section" id="id1">
|
||||
<h1>第二回:艺术画笔见乾坤<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
|
||||
@@ -321,8 +323,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id1">
|
||||
<h1>第二回:艺术画笔见乾坤<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<div class="section" id="id2">
|
||||
<h2>一、概述<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<div class="section" id="matplotlibapi">
|
||||
@@ -432,7 +432,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_2_01.png" src="../_images/index_2_01.png" />
|
||||
<img alt="../_images/index_3_01.png" src="../_images/index_3_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell docutils container">
|
||||
@@ -446,7 +446,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_3_01.png" src="../_images/index_3_01.png" />
|
||||
<img alt="../_images/index_4_01.png" src="../_images/index_4_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell docutils container">
|
||||
@@ -460,7 +460,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_4_01.png" src="../_images/index_4_01.png" />
|
||||
<img alt="../_images/index_5_01.png" src="../_images/index_5_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -490,10 +490,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[<matplotlib.lines.Line2D object at 0x00000298AE900A30>, <matplotlib.lines.Line2D object at 0x00000298AE900DC0>]
|
||||
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[<matplotlib.lines.Line2D object at 0x0000029FF51E0A90>, <matplotlib.lines.Line2D object at 0x0000029FF51E0E20>]
|
||||
</pre></div>
|
||||
</div>
|
||||
<img alt="../_images/index_6_1.png" src="../_images/index_6_1.png" />
|
||||
<img alt="../_images/index_7_1.png" src="../_images/index_7_1.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell docutils container">
|
||||
@@ -513,7 +513,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_7_01.png" src="../_images/index_7_01.png" />
|
||||
<img alt="../_images/index_8_01.png" src="../_images/index_8_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p><br />
|
||||
@@ -545,7 +545,7 @@ pyplot里有个专门绘制误差线的功能,通过<code class="docutils lite
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_9_01.png" src="../_images/index_9_01.png" />
|
||||
<img alt="../_images/index_10_01.png" src="../_images/index_10_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p><br />
|
||||
@@ -562,7 +562,7 @@ linewidth=None, linestyle=None, antialiased=None,
|
||||
hatch=None, fill=True, capstyle=None, joinstyle=None,
|
||||
**kwargs)</p>
|
||||
</div></blockquote>
|
||||
<p>本小节重点讲述三种最常见的子类,矩形,多边形和楔型。</p>
|
||||
<p>本小节重点讲述三种最常见的子类,矩形,多边形和楔形。</p>
|
||||
<div class="section" id="a-rectangle">
|
||||
<h4>a. Rectangle-矩形<a class="headerlink" href="#a-rectangle" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">Rectangle</span></code>矩形类在官网中的定义是: 通过锚点xy及其宽度和高度生成。
|
||||
@@ -586,10 +586,10 @@ Rectangle本身的主要比较简单,即xy控制锚点,width和height分别
|
||||
<li><p><strong>log</strong>: bool,默认False,即y坐标轴是否选择指数刻度</p></li>
|
||||
<li><p><strong>stacked</strong>: bool,默认为False,是否为堆积状图</p></li>
|
||||
</ul>
|
||||
<p>hist绘制直方图</p>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span> <span class="c1">#生成[0-100)之间的100个数据,即 数据集 </span>
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># hist绘制直方图</span>
|
||||
<span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span> <span class="c1">#生成[0-100)之间的100个数据,即 数据集 </span>
|
||||
<span class="n">bins</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">101</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span> <span class="c1">#设置连续的边界值,即直方图的分布区间[0,10),[10,20)... </span>
|
||||
<span class="n">plt</span><span class="o">.</span><span class="n">hist</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">bins</span><span class="p">,</span><span class="n">color</span><span class="o">=</span><span class="s1">'fuchsia'</span><span class="p">,</span><span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span><span class="c1">#alpha设置透明度,0为完全透明 </span>
|
||||
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'scores'</span><span class="p">)</span>
|
||||
@@ -599,14 +599,14 @@ Rectangle本身的主要比较简单,即xy控制锚点,width和height分别
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_11_01.png" src="../_images/index_11_01.png" />
|
||||
<img alt="../_images/index_12_0.png" src="../_images/index_12_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">Rectangle</span></code>矩形类绘制直方图</p>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'data'</span><span class="p">])</span>
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Rectangle矩形类绘制直方图</span>
|
||||
<span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'data'</span><span class="p">])</span>
|
||||
<span class="n">df</span><span class="o">.</span><span class="n">loc</span><span class="p">[:,</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">x</span>
|
||||
<span class="n">df</span><span class="p">[</span><span class="s1">'fenzu'</span><span class="p">]</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">cut</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="s1">'data'</span><span class="p">],</span> <span class="n">bins</span><span class="o">=</span><span class="n">bins</span><span class="p">,</span> <span class="n">right</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span><span class="n">include_lowest</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||
|
||||
@@ -632,7 +632,7 @@ Rectangle本身的主要比较简单,即xy控制锚点,width和height分别
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_13_01.png" src="../_images/index_13_01.png" />
|
||||
<img alt="../_images/index_14_0.png" src="../_images/index_14_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -665,7 +665,7 @@ Rectangle本身的主要比较简单,即xy控制锚点,width和height分别
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_15_01.png" src="../_images/index_15_01.png" />
|
||||
<img alt="../_images/index_16_0.png" src="../_images/index_16_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -684,7 +684,7 @@ Rectangle本身的主要比较简单,即xy控制锚点,width和height分别
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_17_01.png" src="../_images/index_17_01.png" />
|
||||
<img alt="../_images/index_18_0.png" src="../_images/index_18_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -714,7 +714,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_19_0.png" src="../_images/index_19_0.png" />
|
||||
<img alt="../_images/index_20_0.png" src="../_images/index_20_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -741,10 +741,10 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
<li><p><strong>colors</strong>:饼图循环使用的颜色序列。如果取值为None,将使用当前活动循环中的颜色。</p></li>
|
||||
<li><p><strong>startangle</strong>:饼状图开始的绘制的角度。</p></li>
|
||||
</ul>
|
||||
<p>pie绘制饼状图</p>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">labels</span> <span class="o">=</span> <span class="s1">'Frogs'</span><span class="p">,</span> <span class="s1">'Hogs'</span><span class="p">,</span> <span class="s1">'Dogs'</span><span class="p">,</span> <span class="s1">'Logs'</span>
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># pie绘制饼状图</span>
|
||||
<span class="n">labels</span> <span class="o">=</span> <span class="s1">'Frogs'</span><span class="p">,</span> <span class="s1">'Hogs'</span><span class="p">,</span> <span class="s1">'Dogs'</span><span class="p">,</span> <span class="s1">'Logs'</span>
|
||||
<span class="n">sizes</span> <span class="o">=</span> <span class="p">[</span><span class="mi">15</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">10</span><span class="p">]</span>
|
||||
<span class="n">explode</span> <span class="o">=</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
|
||||
<span class="n">fig1</span><span class="p">,</span> <span class="n">ax1</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
@@ -754,15 +754,15 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_21_0.png" src="../_images/index_21_0.png" />
|
||||
<img alt="../_images/index_22_0.png" src="../_images/index_22_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p>wedge绘制饼图</p>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># wedge绘制饼图</span>
|
||||
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
|
||||
<span class="n">ax1</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">111</span><span class="p">)</span>
|
||||
<span class="n">theta1</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="n">sizes</span> <span class="o">=</span> <span class="p">[</span><span class="mi">15</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">10</span><span class="p">]</span>
|
||||
@@ -781,7 +781,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_23_0.png" src="../_images/index_23_0.png" />
|
||||
<img alt="../_images/index_24_0.png" src="../_images/index_24_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -813,7 +813,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_25_0.png" src="../_images/index_25_0.png" />
|
||||
<img alt="../_images/index_26_0.png" src="../_images/index_26_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -851,7 +851,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_27_0.png" src="../_images/index_27_0.png" />
|
||||
<img alt="../_images/index_28_0.png" src="../_images/index_28_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -881,7 +881,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
[<AxesSubplot:>, <Axes:>]
|
||||
</pre></div>
|
||||
</div>
|
||||
<img alt="../_images/index_29_1.png" src="../_images/index_29_1.png" />
|
||||
<img alt="../_images/index_30_1.png" src="../_images/index_30_1.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p>由于<code class="docutils literal notranslate"><span class="pre">Figure</span></code>维持了<code class="docutils literal notranslate"><span class="pre">current</span> <span class="pre">axes</span></code>,因此你不应该手动的从<code class="docutils literal notranslate"><span class="pre">Figure.axes</span></code>列表中添加删除元素,而是要通过<code class="docutils literal notranslate"><span class="pre">Figure.add_subplot()</span></code>、<code class="docutils literal notranslate"><span class="pre">Figure.add_axes()</span></code>来添加元素,通过<code class="docutils literal notranslate"><span class="pre">Figure.delaxes()</span></code>来删除元素。但是你可以迭代或者访问<code class="docutils literal notranslate"><span class="pre">Figure.axes</span></code>中的<code class="docutils literal notranslate"><span class="pre">Axes</span></code>,然后修改这个<code class="docutils literal notranslate"><span class="pre">Axes</span></code>的属性。</p>
|
||||
@@ -897,7 +897,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_31_0.png" src="../_images/index_31_0.png" />
|
||||
<img alt="../_images/index_32_0.png" src="../_images/index_32_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -925,7 +925,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_33_0.png" src="../_images/index_33_0.png" />
|
||||
<img alt="../_images/index_34_0.png" src="../_images/index_34_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -983,7 +983,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>array([-0.2, 4.2])
|
||||
</pre></div>
|
||||
</div>
|
||||
<img alt="../_images/index_35_1.png" src="../_images/index_35_1.png" />
|
||||
<img alt="../_images/index_36_1.png" src="../_images/index_36_1.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -1014,7 +1014,7 @@ closed为True则指定多边形将起点和终点重合从而显式关闭多边
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_37_0.png" src="../_images/index_37_0.png" />
|
||||
<img alt="../_images/index_38_0.png" src="../_images/index_38_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -1048,7 +1048,7 @@ x轴分为上下两个,因此tick1对应下侧的轴;tick2对应上侧的轴
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_39_0.png" src="../_images/index_39_0.png" />
|
||||
<img alt="../_images/index_40_0.png" src="../_images/index_40_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
|
||||
@@ -262,6 +262,15 @@
|
||||
|
||||
<div class="section" id="id1">
|
||||
<h1>第五回:样式色彩秀芳华<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib</span> <span class="k">as</span> <span class="nn">mpl</span>
|
||||
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>第五回详细介绍matplotlib中样式和颜色的使用,绘图样式和颜色是丰富可视化图表的重要手段,因此熟练掌握本章可以让可视化图表变得更美观,突出重点和凸显艺术性。<br />
|
||||
关于绘图样式,常见的有3种方法,分别是修改预定义样式,自定义样式和rcparams。<br />
|
||||
关于颜色使用,本章介绍了常见的5种表示单色颜色的基本方法,以及colormap多色显示的方法。</p>
|
||||
@@ -274,22 +283,13 @@
|
||||
<p>matplotlib贴心地提供了许多内置的样式供用户使用,使用方法很简单,只需在python脚本的最开始输入想使用style的名称即可调用,尝试调用不同内置样式,比较区别</p>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib</span> <span class="k">as</span> <span class="nn">mpl</span>
|
||||
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">style</span><span class="o">.</span><span class="n">use</span><span class="p">(</span><span class="s1">'default'</span><span class="p">)</span>
|
||||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">],[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">]);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_2_02.png" src="../_images/index_2_02.png" />
|
||||
<img alt="../_images/index_3_02.png" src="../_images/index_3_02.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell docutils container">
|
||||
@@ -300,7 +300,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_3_02.png" src="../_images/index_3_02.png" />
|
||||
<img alt="../_images/index_4_02.png" src="../_images/index_4_02.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p>那么matplotlib究竟内置了那些样式供使用呢?总共以下26种丰富的样式可供选择。</p>
|
||||
@@ -337,7 +337,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_7_02.png" src="../_images/index_7_02.png" />
|
||||
<img alt="../_images/index_8_02.png" src="../_images/index_8_02.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p>值得特别注意的是,matplotlib支持混合样式的引用,只需在引用时输入一个样式列表,若是几个样式中涉及到同一个参数,右边的样式表会覆盖左边的值。</p>
|
||||
@@ -349,7 +349,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_9_02.png" src="../_images/index_9_02.png" />
|
||||
<img alt="../_images/index_10_02.png" src="../_images/index_10_02.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -365,7 +365,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_11_02.png" src="../_images/index_11_02.png" />
|
||||
<img alt="../_images/index_12_01.png" src="../_images/index_12_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell docutils container">
|
||||
@@ -377,10 +377,10 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_12_0.png" src="../_images/index_12_0.png" />
|
||||
<img alt="../_images/index_13_01.png" src="../_images/index_13_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p>另外matplotlib也还提供了了一种更便捷的修改样式方式,可以一次性修改多个样式。</p>
|
||||
<p>另外matplotlib也还提供了一种更便捷的修改样式方式,可以一次性修改多个样式。</p>
|
||||
<div class="cell docutils container">
|
||||
<div class="cell_input docutils container">
|
||||
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">mpl</span><span class="o">.</span><span class="n">rc</span><span class="p">(</span><span class="s1">'lines'</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s1">'-.'</span><span class="p">)</span>
|
||||
@@ -389,7 +389,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_14_0.png" src="../_images/index_14_0.png" />
|
||||
<img alt="../_images/index_15_01.png" src="../_images/index_15_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -401,7 +401,6 @@ ytick.labelsize : 16</p>
|
||||
<code class="docutils literal notranslate"><span class="pre">色相</span></code>: 没有明显的顺序性、一般不用来表达数据量的高低,而是用来表达数据列的类别。<br />
|
||||
<code class="docutils literal notranslate"><span class="pre">明度和饱和度</span></code>: 在视觉上很容易区分出优先级的高低、被用作表达顺序或者表达数据量视觉通道。<br />
|
||||
具体关于色彩理论部分的知识,不属于本教程的重点,请参阅有关拓展材料学习。<br />
|
||||
<a class="reference external" href="https://vis.baidu.com/chartcolor/basis/">ECharts数据可视化实验室</a><br />
|
||||
<a class="reference external" href="https://zhuanlan.zhihu.com/p/88892542">学会这6个可视化配色基本技巧,还原数据本身的意义</a></p>
|
||||
<p>在matplotlib中,设置颜色有以下几种方式:</p>
|
||||
<div class="section" id="rgbrgba">
|
||||
@@ -422,7 +421,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_17_02.png" src="../_images/index_17_02.png" />
|
||||
<img alt="../_images/index_18_01.png" src="../_images/index_18_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -437,7 +436,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_19_01.png" src="../_images/index_19_01.png" />
|
||||
<img alt="../_images/index_20_01.png" src="../_images/index_20_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p>RGB颜色和HEX颜色之间是可以一一对应的,以下网址提供了两种色彩表示方法的转换工具。<br />
|
||||
@@ -453,7 +452,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_21_01.png" src="../_images/index_21_01.png" />
|
||||
<img alt="../_images/index_22_01.png" src="../_images/index_22_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -467,7 +466,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_23_01.png" src="../_images/index_23_01.png" />
|
||||
<img alt="../_images/index_24_01.png" src="../_images/index_24_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -481,7 +480,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_25_01.png" src="../_images/index_25_01.png" />
|
||||
<img alt="../_images/index_26_01.png" src="../_images/index_26_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p><img alt="" src="https://matplotlib.org/3.1.0/_images/sphx_glr_named_colors_002.png" />
|
||||
@@ -507,7 +506,7 @@ ytick.labelsize : 16</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_27_01.png" src="../_images/index_27_01.png" />
|
||||
<img alt="../_images/index_28_01.png" src="../_images/index_28_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p>在以下官网页面可以查询上述五种colormap的字符串表示和颜色图的对应关系<br />
|
||||
|
||||
@@ -391,7 +391,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_5_01.png" src="../_images/index_5_01.png" />
|
||||
<img alt="../_images/index_5_02.png" src="../_images/index_5_02.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -467,7 +467,7 @@ ylabel方式类似,这里不重复写出。<br />
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_7_03.png" src="../_images/index_7_03.png" />
|
||||
<img alt="../_images/index_7_01.png" src="../_images/index_7_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -493,7 +493,7 @@ ylabel方式类似,这里不重复写出。<br />
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_9_03.png" src="../_images/index_9_03.png" />
|
||||
<img alt="../_images/index_9_01.png" src="../_images/index_9_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -523,7 +523,7 @@ annotate的参数非常复杂,这里仅仅展示一个简单的例子,更多
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_11_03.png" src="../_images/index_11_03.png" />
|
||||
<img alt="../_images/index_11_01.png" src="../_images/index_11_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -589,7 +589,7 @@ annotate的参数非常复杂,这里仅仅展示一个简单的例子,更多
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_17_03.png" src="../_images/index_17_03.png" />
|
||||
<img alt="../_images/index_17_01.png" src="../_images/index_17_01.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -608,7 +608,7 @@ annotate的参数非常复杂,这里仅仅展示一个简单的例子,更多
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_19_02.png" src="../_images/index_19_02.png" />
|
||||
<img alt="../_images/index_19_0.png" src="../_images/index_19_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -668,7 +668,7 @@ annotate的参数非常复杂,这里仅仅展示一个简单的例子,更多
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_23_02.png" src="../_images/index_23_02.png" />
|
||||
<img alt="../_images/index_23_0.png" src="../_images/index_23_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -689,7 +689,7 @@ annotate的参数非常复杂,这里仅仅展示一个简单的例子,更多
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_25_02.png" src="../_images/index_25_02.png" />
|
||||
<img alt="../_images/index_25_0.png" src="../_images/index_25_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -698,7 +698,7 @@ annotate的参数非常复杂,这里仅仅展示一个简单的例子,更多
|
||||
<div class="section" id="b-tick-locators">
|
||||
<h4>b) Tick Locators<a class="headerlink" href="#b-tick-locators" title="永久链接至标题">¶</a></h4>
|
||||
<p>在普通的绘图中,我们可以直接通过上图的set_ticks进行设置刻度的位置,缺点是需要自己指定或者接受matplotlib默认给定的刻度。当需要更改刻度的位置时,matplotlib给了常用的几种locator的类型。如果要绘制更复杂的图,可以先设置locator的类型,然后通过axs.xaxis.set_major_locator(locator)绘制即可<br />
|
||||
locator=plt.MaxNLocator(nbins=7)<br />
|
||||
locator=plt.MaxNLocator(nbins=7)#自动选择合适的位置,并且刻度之间最多不超过7(nbins)个间隔
|
||||
locator=plt.FixedLocator(locs=[0,0.5,1.5,2.5,3.5,4.5,5.5,6])#直接指定刻度所在的位置<br />
|
||||
locator=plt.AutoLocator()#自动分配刻度值的位置<br />
|
||||
locator=plt.IndexLocator(offset=0.5, base=1)#面元间距是1,从0.5开始<br />
|
||||
@@ -714,7 +714,7 @@ locator=plt.LinearLocator(numticks=5)#线性划分5等分,4个刻度</p>
|
||||
<span class="n">locator</span> <span class="o">=</span> <span class="n">matplotlib</span><span class="o">.</span><span class="n">ticker</span><span class="o">.</span><span class="n">AutoLocator</span><span class="p">()</span>
|
||||
<span class="n">axs</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">set_major_locator</span><span class="p">(</span><span class="n">locator</span><span class="p">)</span>
|
||||
|
||||
<span class="n">locator</span> <span class="o">=</span> <span class="n">matplotlib</span><span class="o">.</span><span class="n">ticker</span><span class="o">.</span><span class="n">MaxNLocator</span><span class="p">(</span><span class="n">nbins</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
|
||||
<span class="n">locator</span> <span class="o">=</span> <span class="n">matplotlib</span><span class="o">.</span><span class="n">ticker</span><span class="o">.</span><span class="n">MaxNLocator</span><span class="p">(</span><span class="n">nbins</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
|
||||
<span class="n">axs</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">set_major_locator</span><span class="p">(</span><span class="n">locator</span><span class="p">)</span>
|
||||
|
||||
|
||||
@@ -728,7 +728,7 @@ locator=plt.LinearLocator(numticks=5)#线性划分5等分,4个刻度</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_27_02.png" src="../_images/index_27_02.png" />
|
||||
<img alt="../_images/index_27_0.png" src="../_images/index_27_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -784,7 +784,7 @@ locator=plt.LinearLocator(numticks=5)#线性划分5等分,4个刻度</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_31_01.png" src="../_images/index_31_01.png" />
|
||||
<img alt="../_images/index_31_0.png" src="../_images/index_31_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p>legend其他常用的几个参数如下:</p>
|
||||
@@ -844,7 +844,7 @@ ax.legend(loc='upper center') 等同于ax.legend(loc=9)</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_33_01.png" src="../_images/index_33_01.png" />
|
||||
<img alt="../_images/index_33_0.png" src="../_images/index_33_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
@@ -877,7 +877,7 @@ ax.legend(loc='upper center') 等同于ax.legend(loc=9)</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell_output docutils container">
|
||||
<img alt="../_images/index_37_01.png" src="../_images/index_37_01.png" />
|
||||
<img alt="../_images/index_37_0.png" src="../_images/index_37_0.png" />
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
|
||||