首发于微信公众号东哥夜谈。欢迎关注东哥夜谈,让我们一起聊聊个人成长、投资、编程、电影、运动等话题。
本帐号所有文章均为原创。文章可以随意转载,但请务必注明作者。如果觉得文章有用,欢迎转发朋友圈分享。
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. 来源
- matplotlib 官方文档
- 《Python for Data Analysis》,Wes McKinney
DongTalks.jpg
网友评论