python绘图 条形图 直方图 饼图 箱型图 误差图 多图绘制 图表注释 三维图形

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()

感谢您的学习,祝您学习进步!


------希望兄弟有朝一日能翱翔于天际

最近大火的 "好久不见" 女主杨子姗真是太漂亮了~~~ 分享美照一波大笑大笑


  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值