专栏首页浊酒清味Python进阶之Matplotlib入门(四)

Python进阶之Matplotlib入门(四)

引言

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

本文分享自微信公众号 - Python与机器学习之路(gh_39aead19f756),作者:Huangwei AI

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python快速实战机器学习(4) 逻辑回归

    机器学习是如今人工智能时代背景下一个重要的领域。这个“Python快速实战机器学习”系列,用Python代码实践机器学习里面的算法,旨在理论和实践同时进行,快速...

    HuangWeiAI
  • Python进阶之Matplotlib入门(五)

    Matplotlib是Python的画图领域使用最广泛的绘图库,它能让使用者很轻松地将数据图形化以及利用它可以画出许多高质量的图像,是用Python画图的必备技...

    HuangWeiAI
  • Python进阶之Matplotlib入门(七)

    Matplotlib是Python的画图领域使用最广泛的绘图库,它能让使用者很轻松地将数据图形化以及利用它可以画出许多高质量的图像,是用Python画图的必备技...

    HuangWeiAI
  • 百度机器学习训练营笔记——数学基础

    μ=1N∑i=1Nxi(x:x1,x2,...,xN)\mu=\frac{1}{N}\sum_{i=1}^Nx_i\left(x:x_1,x_2,...,x_N...

    夜雨飘零
  • 就算会用python画颗心,可你依然还是只单身狗

    俺踏月色而来
  • 就算会用python画颗心,可你依然还是只单身狗

    俺踏月色而来
  • 机器学习第5天:逻辑回归

    简单来说, 逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。比如某用户购买某...

    明天依旧可好
  • 用Python实现机器学习算法——简单的神经网络

    导读:Python 被称为是最接近 AI 的语言。最近一位名叫Anna-Lena Popkes的小姐姐在GitHub上分享了自己如何使用Python(3.6及以...

    IT派
  • Python+pyplot绘制带文本标注的柱状图

    import numpy as np import matplotlib.pyplot as plt # 生成测试数据 x = np.linspace(0, 1...

    Python小屋屋主
  • Python使用matplotlib填充图形指定区域

    本文代码重点在于演示Python扩展库matplotlib.pyplot中fill_between()函数的用法。 import numpy as np im...

    Python小屋屋主

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动