Matplotlib是一个绘图工具库,具有不亚于Matlab的作图能力。
常用的有折线图、饼状图、散点图和柱状图,如下:
# -*- coding: utf-8 -*
import matplotlib.pyplot as plt
import numpy as np
# 折线图
def plot_test():
x = np.arange(-np.pi, np.pi, 0.1) # 创建数组x
y = np.sin(x) # 基于x创建正弦变化的y数组
z = np.cos(x) # 基于x创建余弦变化的y数组
# 绘制图形,指定颜色、线条宽度、线条样式、标签
plt.plot(x, y, color='green', linewidth=2.0, linestyle='-', label='sin')
plt.plot(x, z, color='red', linewidth=2.0, linestyle=':', label='cos')
plt.xlim(-4, 4) # 横坐标范围
plt.ylim(-1.5, 1.5) # 纵坐标范围
plt.xlabel('x') # 横坐标标识
plt.ylabel('y') # 纵坐标标识
plt.title('plt test') # 设定图形的标题
plt.grid(True) # 设置网格线
plt.legend() # 设置图例
plt.show() # 显示图形
# 饼图
def pie_test():
data = np.random.randint(1, 11, 5) # 随机创建数据
labels = ['one', 'two', 'three', 'four', 'five'] # 定义饼状图的标签,标签是列表
plt.pie(data, labels=labels) # 绘制饼图
plt.axis('equal') # x,y轴刻度一致,饼图才能是圆的
plt.legend() # 设置图例
plt.show()
# 散点图
def scatter_test():
x = np.arange(-np.pi, np.pi, 0.1) # 创建数组x
y = np.sin(x) # 基于x创建正弦变化的y数组
plt.scatter(x, y, color='red', marker='o')
plt.show()
# 柱状图
def bar_test():
x = [1, 2, 3, 4]
y = [1, 2, 3, 4]
plt.bar(x, y)
plt.grid(True)
plt.show()
if __name__ == '__main__':
plot_test()
pie_test()
scatter_test()
bar_test()
四个函数做出来的图如下: