Python利用Matplotlib绘制图表详解
目录
- 前言
- 折线图绘制与显示
- 绘制数学函数图像
- 散点图绘制
- 绘制柱状图
- 绘制直方图
- 饼图
前言
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绘制图表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)