基于 Python 基础画图

首先要安装一个安装有matplotlib库类似于MATLAB里面的画图

先画个简单的线图试试:

import matplotlib.pyplot as plt

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

plt.ylabel('some numbers')

plt.show()

基于 Python 基础画图

解释一下

为什么只提供了一组值,却可以画一条直线。

这是因为如果只传入一个list或array给plot(),它会认为这是y的值,并自动生成x的值,又由于python计数以0开始,x的长度与y一致,所以x的值为[0,1,2,3]

除了画线图还可以画点图:

import matplotlib.pyplot as plt

plt.plot([1,2,3,4,5], [1,4,9,10,16], 'ro')#x=[1,2,3,4,5],y=[1,4,9,,10,16],'ro'表示红色的圆点

#axis接收的list参数表示:[xmin, xmax, ymin, ymax] 

plt.axis([0, 8, 0, 22])#设置x、y轴的长度,x轴为[0,8],y轴为[0,22]

plt.show()

基于 Python 基础画图

可以在一张图中画多跳线

import numpy as np

import matplotlib.pyplot as plt

# 以0.3为间隔均匀采样

t = np.arange(0., 8., 0.3)

#查看t的值

print t

# 'r--':红色的需要;'bs':蓝色方块;'g^':绿色三角

plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')

plt.show()

基于 Python 基础画图

下面是一个均匀分布,还将包含一个辅助函数,用于可视化此概率分布。下面的函数display_map将会输出一个条形图,用于显示机器人在每个网格空间中的概率。对于概率范围,y轴的范围为0到1。在均匀分布中,这看起来像一条扁平线。如果你想将它们分开,可以选择每个条的宽度<= 1。

基于 Python 基础画图

基于 Python 基础画图