matplotlib API 简述(01) - Daily Python

matplotlib.png

首发于微信公众号东哥夜谈。欢迎关注东哥夜谈,让我们一起聊聊个人成长、投资、编程、电影、运动等话题。
本帐号所有文章均为原创。文章可以随意转载,但请务必注明作者。如果觉得文章有用,欢迎转发朋友圈分享。


1. 缘起

我们之前说过,matplotlib 相关概念很多,使用起来较为复杂,与其花大量的时间掌握这些东西,不如在有了需求的时候,直接去 gallery 里面找相应的代码复用。不过对于一些基础概念,还是应该掌握的。

2. matplotlib 基础概念

2.1 Figures and Subplots

matplotlib 绘图的时候,是需要在一个figure对象上的axes对象上画。可以把figure当成一张画布,ax是在上面的可制图区域。那么首先需要生成这两个对象。

fig1 = plt.figure()
ax1 = fig1.add_subplot(1,1,1)
print(fig1, ax1)
hist = ax1.hist(np.random.randn(100), bins = 20, rwidth=0.9)
plt.show()

结果如下

pyplot 的每次操作都是在最后一次使用的 fig/Axes 上操作。将其赋予变量可以让我们在以后很方便的调用切换。由于添加 fig 和 axes 使用特高频,所以可以用 plt.subplots 一次完成。

fig2, ax2 = plt.subplots(2, 3)

这样会生成一个fig对象,和一个2行3列的ax数组,可以方便的用 ax2[row, col] 这样的方式调用。比如利用如下代码:

ax2[0,1] = plt.plot(np.arange(10), np.random.randn(10))
plt.show()

2.2 Colors, Markers 和 Line Styles

plt.plot 的时候可以指定颜色、线型、标记等。简化的方法是都集合在一起,比如 plt.plot('ko--')。不过我不太喜欢这种方式。<Zen of Python> 明确说道

Explicit is better than implicit.

既然如此,为什么不干脆点指定个明明白白清清楚楚呢?所以相比之下我更喜欢用下面这些代码:

ax2[0,2] = plt.plot(np.arange(10), np.random.randn(10), color='k', linestyle='dashed', marker='o')
plt.show()

根据 matplotlib 文档,默认颜色设置为

  • b: blue
  • g: green
  • r: red
  • c: cyan
  • m: magenta
  • y: yellow
  • k: black
  • w: white

当然还有其他形式的颜色表示,比如RGB之类的,但对于普通应用,这个足够了。

对于线条设置,有

linestyle description
'-' or 'solid' solid line
'--' or 'dashed' dashed line
'-.' or 'dashdot' dash-dotted line
':' or 'dotted' dotted line
'None' draw nothing
' ' draw nothing
'' draw nothing

对于标记 Marker,内容比较多,不在此处多列,详细可见官方文档

matplotlib 内容太多,这个先当成上篇吧。明天继续。

感觉英年早逝的John D. Hunter (1968 – 2012) 给我们留下的这一丰富遗产。

3. 来源


DongTalks.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # -*- coding: utf-8 -*- from __future__ import division f...
    小豆角lch阅读 1,483评论 0 1
  • 牛刀小试 导入类库:import matplotlib.pyplot as plt 画图:plt.plot([1,...
    Manfestain阅读 3,031评论 0 2
  • 按:plot,figure,Axes这些名词很烦,不尝试翻译了。 Ipython Notebook比较适合演示ma...
    mhye阅读 7,073评论 1 8
  • 烟雨蒙蒙,甚是念家。 忆幼时居于旧室,春分时节,如此烟雨,下于傍晚间。 正值炊膳,母备于厨,见炊烟袅袅,飞舞雨空,...
    黄美美阅读 319评论 0 0
  • 前几天,我收到了姐姐的一条消息:国庆想去哪里,给我说,我给你钱! 就这样简单的一句话,击碎了我那颗故作坚强的心。 ...
    双鱼沐小木阅读 564评论 7 10