首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进阶之Matplotlib入门(四)

Python进阶之Matplotlib入门(四)

作者头像
HuangWeiAI
发布2019-10-31 20:57:11
4770
发布2019-10-31 20:57:11
举报
文章被收录于专栏:浊酒清味浊酒清味

引言

Matplotlib是Python的画图领域使用最广泛的绘图库,它能让使用者很轻松地将数据图形化以及利用它可以画出许多高质量的图像,是用Python画图的必备技能。对于这个教程,大家最好亲自码一遍代码,这样可以更有收获。

前面课程:

Python进阶之Matplotlib入门(一)

Python进阶之Matplotlib入门(二)

Python进阶之Matplotlib入门(三)

概要

1、掌握spine函数,学会通过设置颜色注释掉一些边;

2、掌握spine函数,学会通过设置位置改变坐标轴位置;

3、掌握legend函数,学会给不同的线做标注来区分。

图的脊柱spine

坐标轴线和上面的记号连在一起就形成了脊柱(英文叫Spines,一条线段上有一系列的刻度,是不是很像脊柱骨啊),它记录了数据区域的范围。它们可以放在任意位置,不过至今为止,我们都把它放在图的四边。

我们现在做一个实验,将四条脊柱的其中两条(上和右)设置为无色,看一下会有什么效果吧:

import numpy as np
import matplotlib.pyplot as plt

plt.figure(figsize=(5, 5))
x = np.linspace(-np.pi, np.pi, 256)
y1,y2 = np.cos(x), np.sin(x)
plt.plot(x, y1, color="blue", linewidth=1.0, linestyle="-")
plt.plot(x, y2, color="green", linewidth=1.0, linestyle="--")

plt.xlim(-4, 4)
plt.ylim(-1.5, 1.5)

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

plt.show()

这段代码的重点当然是:

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

其中gca的意思是Get Current Axes,获得当前坐标轴

其中spines['right']是指定一条边

而set_corlor('none')就是让它消失的技术。

运行结果:

脊柱移动

在上一节我们利用颜色消失术将四个脊柱移除了两个,现在我们将移动剩下的脊柱:

import numpy as np
import matplotlib.pyplot as plt

plt.figure(figsize=(5, 5))
x = np.linspace(-np.pi, np.pi, 256)
y1,y2 = np.cos(x), np.sin(x)
plt.plot(x, y1, color="blue", linewidth=1.0, linestyle="-")
plt.plot(x, y2, color="green", linewidth=1.0, linestyle="--")

plt.xlim(-4, 4)
plt.ylim(-1.5, 1.5)

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))

plt.show()

我们使用set_position函数将下面以及左边位置脊柱移到了x=0以及y=0的位置,形成了我们常见的坐标轴画法:

图例标注

当一张图上面出现多条线的时候,我们就需要给这些线标注名字,比如我们的例子一直都是正弦和余弦函数,所以我们来用legend函数给两条线做一下标注:

import numpy as np
import matplotlib.pyplot as plt

plt.figure(figsize=(5, 5))
x = np.linspace(-np.pi, np.pi, 256)
y1,y2 = np.cos(x), np.sin(x)
plt.plot(x, y1, color="blue", linewidth=1.0, linestyle="-", label="cosine")
plt.plot(x, y2, color="green", linewidth=1.0, linestyle="--", label="sine")

plt.xlim(-4, 4)
plt.ylim(-1.5, 1.5)

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))

plt.legend(loc='upper left')

plt.show()

其中,loc='upper left'是让标注文字出现在左上角:

更多关于plt.legend用法请参考这个网站:

https://matplotlib.org/3.1.1/tutorials/intermediate/legend_guide.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与机器学习之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档