python的主要作图库是Matplotlib,该库提供了较为强大的作图能力。
如果您还未安装该库,请命令行运行“pip install matplotlib”安装一下,同时安装“pip install numpy”提供对n维数组对象的支持以支持绘图
接下来我们举例分析:
1. 绘制线性二维图,折线图:plot(x,y,S)
2. 绘制散点图
3. 绘制饼形图:pie(size)
4. 绘制二维条形直方图:hist(x,y)
5. 绘制样本数据的箱型图
6. 绘制误差图
7. 在一张图表中画多个图
8. 图表的注释与标识
9. 从文件中读入数据并绘制图
10. 绘制三维图形
1. 绘制线性二维图,折线图:plot(x,y,S)
import matplotlib.pyplot as plt
import numpy as np
plt.figure(1,dpi=50) #dpi为设置图表的大小,默认为80
x=np.linspace(-np.pi,np.pi,100) #x范围-π到π
plt.plot(x,np.sin(x)) #绘制sin(x)的图像
plt.show() #显示图像
2. 绘制散点图
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(1,10) #散点的x坐标从1到10
y = x #散点的y坐标和x一致
fig = plt.figure()
plt.scatter(x,y,c = 'g',marker = '*') #c = 'g'表示散点的颜色为绿色,marker 表示指定散点为*
plt.show() #显示图形
3. 绘制饼形图:pie(size)
import matplotlib.pyplot as plt
import numpy as np
data=[100,200,400,500] #饼图三块所占的大小,如果和不为1,会进行归一化处理
fig = plt.figure(dpi=120) #dpi为设置图像的大小
plt.pie(data,
explode=[0.0,0.0,0.0,0.1], #每个饼块离中心的距离
colors=['b','y','r','g'], #设置每个饼块的颜色
labels=['A part','B part','C part','D part'], #设置每个饼块的标签
labeldistance=1.3, #每个饼块标签到中心的距离
autopct='%1.1f%%', #百分比的显示格式
pctdistance=0.4, #百分比到中心的距离
shadow=True, #显示阴影
startangle=0, #默认从x轴逆时针转起
radius=1 #饼块半径
)
plt.show()
4. 绘制二维条形直方图:hist(x,y)
import matplotlib.pyplot as plt
import numpy as np
plt.figure(1,dpi=80)
data=[1,1,0,1,1,0,1,1,9,1,2,0,6,6,6,8,8,8]
plt.hist(data,facecolor='red') #只要传入数据,直方图就会统计数字出现的次数
plt.show()
5. 绘制样本数据的箱型图
需要用到数据分析工具pandas 可以通过“pip install pandas”进行安装
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
x = np.random.randn(1000) #1000个服从正太分布的随机数
D = pd.DataFrame([x,x+1]).T #构造两列的DataFrame
D.plot(kind='box') #调用Series内置的作图方法画图,用kind参数指定箱型图box
plt.show()
6. 绘制误差图
需要用到数据分析工具pandas 可以通过“pip install pandas”进行安装
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
error = np.random.randn(10) #定义误差列
y = pd.Series(np.sin(np.arange(10))) #均值数据列
y.plot(yerr=error) #绘制误差图
plt.show()
7. 在一张图表中画多个图
import matplotlib.pyplot as plt
import numpy as np
plt.figure(1,dpi=100) #创建图表1,大小100dpi
ax1=plt.subplot(211) #总2*1个图 第1个
ax2=plt.subplot(212) #总2*1个图 第2个
x=np.linspace(0,10,100) #x轴定义域
plt.sca(ax1) #选择子图ax1
plt.plot(x,np.exp(x)) #e的x次方的图像
plt.sca(ax2) #选择子图ax2
plt.plot(x,np.sin(x)) #sin(x)的图像
plt.show() #展示图表中所有的图
8. 图表的注释与标识
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
x = np.linspace(0,10,100)
plt.plot(x,np.sin(x),label="sin(x)",color='y')
plt.xlabel("X axe") #设置x轴显示
plt.ylabel("Y axe") #设置Y轴显示
plt.title("sin(x) image") #设置图的标题
plt.legend() #显示图例
plt.show() #展示图表中所有的图
9. 从文件中读入数据并绘制图
import matplotlib.pyplot as plt
import numpy as np
data = np.loadtxt("F:/1.txt",delimiter=',') #文件中内容通过,分隔
plt.plot(data[:,0],data[:,1],'go') #同行第一个横坐标,第二个纵坐标,颜色:green 形状:O
plt.show()
”F:/1.txt“内容如下
10. 绘制三维图形
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig=plt.figure(1) #创建图表1
ax=fig.add_subplot(1,1,1,projection='3d') #指定三维空间作图
t=np.linspace(0,4,200) #t从0到4分为200份
theta=t*2*np.pi #theta=2πt
z=t
x=np.sin(theta)
y=np.cos(theta)
ax.plot(x,y,z,label='r(t)',color='red')
#对t求导
z=1
x=np.cos(theta)
y=-np.sin(theta)
ax.plot(x,y,z,label='r\'(t)',color='blue')
ax.legend()
plt.show()
感谢您的学习,祝您学习进步!
------希望兄弟有朝一日能翱翔于天际
最近大火的 "好久不见" 女主杨子姗真是太漂亮了~~~ 分享美照一波