目录
  • 前言
  • 折线图绘制与显示
  • 绘制数学函数图像
  • 散点图绘制
  • 绘制柱状图
  • 绘制直方图
  • 饼图

前言

matplotlib 是 python 中类似 matlab 的绘图工具,如果您熟悉 matlab,那么可以很快的熟悉它。

matplotlib 提供了一套面向对象绘图的 api,它可以轻松地配合 python gui 工具包(比如 pyqt,wxpython、tkinter)在应用程序中嵌入图形。与此同时,它也支持以脚本的形式在 python、ipython shell、jupyter notebook 以及 web 应用的服务器中使用。

下面将介绍一些用matplotlib绘制的图表

折线图绘制与显示

# 展现一周天气
# 1.创建画布
plt.figure(figsize=(20,8)) 
# plt.figure(figsize=(),dpi=)
# figsize:指定图的长宽
# dpi:图像清晰度
# 返回fig对象

# 2.绘制图像
plt.plot([1,2,3,4,5,6,7],[17,17,18,15,11,11,13],label="hh")
# plt.plot(x,y,color=,linestyle=",label=")
# figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20,8), dpi=80)

# 显示图例
plt.legend(loc="lower left")

# 添加网格显示
plt.grid(true,linestyle='-',alpha=0.5)

# 3.保存图像 必须放在show的前边,因为show会释放图像资源
# plt.savefig("test.png")

# 4.显示图像
plt.show()

绘制数学函数图像

import numpy as np

# 1.准备x,y数据
x = np.linspace(-1,1,1000)
y = 2 * x * x

# 2.创建画布
plt.figure(figsize=(20,8), dpi=80)

# 3.绘制图像
plt.plot(x,y)

# 4.显示图像
plt.show()

from jupyterthemes import jtplot
jtplot.style(theme='monokai') #选择一个绘图主题

import matplotlib.pyplot as plt
# 个别环境需要以下代码
%matplotlib inline
plt.figure()
plt.plot([1,0,9],[4,5,6])
plt.show()

散点图绘制

# 1.准备数据
x, y = [1,2,3,4,5,6,7], [17,17,18,15,11,11,13]
# 2.创建画布
plt.figure(figsize=(20, 8))
# 3.绘制图像
plt.scatter(x,y)
# 4.显示图像
plt.show()

绘制柱状图

# 1.准备数据
x, y = [1,2,3,4,5,6,7], [17,17,2,15,11,11,13]
# 2.创建画布
plt.figure(figsize=(20, 8))
# 3.绘制图像
plt.bar(x,y,width=0.5,color=['r','b','y','g'])
# 4.显示图像
plt.show()

绘制直方图

x = [1,2,3,4,5,6,17,17,18,15,11,45,12,54,23,45,6,12,87,51,11,13]

plt.figure(figsize=(20,8), dpi=80)

distance = 2
group_num = int((max(x) - min(x)) / distance)

plt.hist(x, bins=group_num)

plt.show()

饼图

# 1.准备数据
x, y = [1,2,3,4,5,6,7], ['17','17','2','15','11','11','13']
# 2.创建画布
plt.figure(figsize=(20, 8))
# 3.绘制图像
plt.pie(x,labels=y,autopct='%1.2f%%',colors=['r','b','y','g'])
# x,y轴刻度等长
plt.axis('equal')
plt.legend(loc="lower left")
# 4.显示图像
plt.show()

到此这篇关于python利用matplotlib绘制图表详解的文章就介绍到这了,更多相关python matplotlib绘制图表内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!