049、基于函数的可视化操作
本文最后更新于 67 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

基于函数的可视化操作

函数plt.plot()

最常用的绘图函数为plt.plot()函数。例如,可以用plt.plot()函数绘制一条直线,并使用plt.ylabel()函数给图像加上一个y轴的标题

from matplotlib import pyplot as plt

plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()


png

通常,Matplotlib模块不会立即显示绘制的图形,以便后续向图形中添加更多的信息。只有在调用函数plt.show()后,绘制的图形才会显示。

默认情况下,Python绘制的图形会以弹窗的形式显示,并提供了一些按钮对生成的图形进行一些简单的操作。

如果使用Jupyter Notebook,plt.show()函数则可以省略,Python也不会弹出绘图窗口,而是在Jupyter Notebook的输出中内嵌图片:

plt.plot([1,2,3,4])
plt.ylabel('some numbers')
Text(0, 0.5, 'some numbers')


png

plt.plot()函数可以绘制基本的点线图,它的使用方式主要有:

plt.plot(x, y)
plt.plot(x, y, format_str)
plt.plot(y)
plt.plot(y, format_str)

例如,指定x,y的参数作为点的x轴坐标和y轴坐标时,plt.plot()函数会用一条直线连接两个相邻的点:

plt.plot([1,2,3,4], [1,4,9,16])
[]


png

不指定x参数时,x的值默认为range(len(y))。

plt.plot([1,4,9,16])
[]


png

默认情况下,plt.plot()函数用蓝色实线连接两个相邻的坐标点。可以使用格式字符串即参数format_str控制plt.plot()函数绘制图形的格式。

颜色控制符如下表所示。

字符 颜色
'b' 蓝色,blue
'g' 绿色,green
'r' 红色,red
'c' 青色,cyan
'm' 品红,magenta
'y' 黄色,yellow
'k' 黑色,black
'w' 白色,white

点线控制符如下表所示。

字符 类型 字符 类型
'-' 实线 '--' 虚线
'-.' 虚点线 ':' 点线
'.' ',' 像素点
'o' 圆点 'v' 下三角点
'^' 上三角点 '<' 左三角点
'>' 右三角点 '1' 下三叉点
'2' 上三叉点 '3' 左三叉点
'4' 右三叉点 's' 正方点
'p' 五角点 '*' 星形点
'h' 六边形点1 'H' 六边形点2
'+' 加号点 'x' 乘号点
'D' 实心菱形点 'd' 瘦菱形点
'_' 横线点

可以单独或者组合使用颜色和点线控制符来控制绘图的格式:

plt.plot([1,2,3,4], [1,4,9,16], 'ro')
[]


png

图的显示范围可以通过plt.axis()函数控制:

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
(0.0, 6.0, 0.0, 20.0)


png

还可以同时传入多组数据,将其绘制在同一张图上:

import numpy as np
t = np.arange(0., 5., 0.2)        # 数组也可以作为plt.plot()函数的参数
plt.plot(t, t, 'r--',             # 红色虚线
         t, t ** 2, 'bs',         # 蓝色正方形点
         t, t ** 3, 'g^')         # 绿色上三角点
plt.show()


png

plt.plot()函数还支持使用关键字参数来控制绘图的格式。例如,可以使用参数linewidth改变线条的宽度,参数color改变颜色:

x = np.linspace(-np.pi,np.pi)
y = np.sin(x)
plt.plot(x, y, linewidth=2.0, color='r')   # 线宽2,颜色红色
plt.show()


png

可以通过函数plt.subplot()将多张子图画在同一张图片上,其用法为:

plt.subplot(rows, cols, fignum)

表示在一个rows×cols大小的画布上,在第fignum张图上进行可视化操作,其中fignum的计数从1开始。比如plt.subplot(3, 4, 8)时,对应的子图排序是:

1,2,3,4
5,6,7,8
9,10,11,12

当绘制子图的总数小于10时,可以使用一个三位数字替代上面的用法,如plt.subplot(3, 3, 1)可以写成plt.subplot(331)

一个绘制两个子图的例子如下:

import numpy as np
from matplotlib import pyplot as plt

def f(t):
    return np.exp(-t) * np.cos(2*np.pi*t)

t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)

plt.subplot(211)                            # 定位到第1张子图
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
plt.subplot(212)                            # 定位到第2张子图
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()


png

谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇