使用matplotlib画图
一、介绍
官方文档:https://www.matplotlib.org.cn/home.html
安装:pip install matplotlib
Matplotlib是一个Python 2D绘图库,可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。
二、使用例子
1、波形图
import matplotlib.pyplot as plt import numpy as np x=np.linspace(0,2*np.pi,100) #100个点组成的2*np.pi线 y1=np.sin(x) #y1线 y2=np.cos(x) #y2线 plt.title("sin&cos title") #标题 plt.xlabel("x") #x轴的名称 plt.ylabel("y") #y轴的名称 plt.plot(x,y1) #画y1线 plt.plot(x,y2) #画y2线 plt.show() #显示
图片
2、柱状图
import matplotlib.pyplot as plt name_list = ["A","B","C","D"] #x轴柱状图的名字 num_list=[10,8,5,6.1] #y轴的值(如A=10,B=8,以此类推) plt.bar(range(0,len(name_list)),num_list,color = "rgby",tick_label = name_list) #画图range(0,len(name_list))代表4个柱状图,color = "rgby"会循环这个规律的颜色 plt.show() #显示
3、堆叠柱状图
import matplotlib.pyplot as plt name_list = ["A","B","C","D"] num_list=[10,8,5,6.1] num_list1=[5,7,3,8] plt.bar(range(0,len(name_list)),num_list,color = "r",tick_label = name_list) plt.bar(range(0,len(name_list)),num_list1,color = "g",tick_label = name_list) plt.legend() plt.show()
4、饼状图
import matplotlib.pyplot as plt label = ["A","B","C","D"] num = [12,30,50,8] ex=[0.1,0,0.1,0] #比重,重点的会分出来,例如A,C plt.axis(aspet=1) #1等分 plt.pie(x=num,autopct='%.2f%%',explode=ex,labels=label,colors="rgby",shadow=True,startangle=30) #startangle倾斜角度,shadow表示立体感(阴影) plt.show()
5、实时画图
import matplotlib.pyplot as plt ax=[] #定义空列表 ay=[] plt.ion() #打开实时画图窗口 for i in range(100): #画的次数 ax.append(i) ay.append(i**2) plt.clf() #清除上一次的图 plt.plot(ax,ay) #画图 plt.pause(0.1) #时间间隔(类似sleep) plt.ioff() #关闭实时画图
6、三维画点
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np import random x=np.random.normal(0,1,100) #生成0-1之间的100个x坐标 y=np.random.normal(0,1,100) z=np.random.normal(0,1,100) fig = plt.figure() ax = Axes3D(fig) #打开3d窗口 ax.scatter(x,y,z) #画3d图 plt.show()
7、erwe散点图
import matplotlib.pyplot as plt import numpy as np import random n=1000 #1000个点 x=np.random.randn(n) #生成1000个x轴坐标 y=np.random.randn(n) plt.scatter(x,y) #画图 plt.show()