python计算卡路里_python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)...

//2019.7.14晚

matplotlib七种常见图像输出编程大全

七种图形汇总输出如下:

27fa1b6bb31db68e01e3414d8b92f677.png

import numpy as np #导入数据结构nmupy模块

import matplotlib.pyplot as plt #导入matplotlib图像输出模块

plt.rcParams["font.sans-serif"]=["SimHei"] #输出图像的标题可以为中文正常输出

plt.rcParams["axes.unicode_minus"]=False #可以正常输出图线里的负号

(必会用到的导入模块)

#1-1散点图输出

fig=plt.figure()

fig.add_subplot(3,3,1)

n=128

X=np.random.normal(0,1,n) #随机数X的生成(生成正态分布,平均数为0,方差为1,个数为128)

Y=np.random.normal(0,1,n) #随机数Y的生成(生成正态分布,平均数为0,方差为1,个数为128)

T=np.arctan2(Y,X)

#plt.axes([0.025,0.025,0.95,0.95]) #指定显示范围

plt.scatter(X,Y,s=75,c=T,alpha=.5) #画散点图的函数scatter(其中XY表示数值的大小,s表示散点的尺寸大小,c表示颜色,alpha表示透明度)

plt.xlim(-1.5,1.5),plt.xticks([]) #x和y坐标轴的范围

plt.ylim(-1.5,1.5),plt.yticks([]) #x和y坐标轴的范围

plt.axis() #显示所有图像范围

plt.title("scatter")

plt.xlabel("x")

plt.ylabel("y")

608c4818399e584776075315beed355e.png

#1-2bar 柱状图

fig.add_subplot(3,3,2)

n=10

X=np.arange(n) #定义从0-9的数列

Y1=(1-X/float(n))*np.random.uniform(0.5,1.0,n) #定义变量X的计算方式

Y2=(1-X/float(n))*np.random.uniform(0.5,1.0,n) #定义变量Y的计算方式

plt.bar(X,Y1,facecolor="#9999ff",edgecolor="white") #编辑输出柱状图的格式(其中facecolor表示输出柱状图的颜色,edgecolor表示边框的颜色)

plt.bar(X,-Y2,facecolor="#ff9999",edgecolor="white") #编辑输出柱状图的格式

for x,y in zip(X,Y1): #编辑输出柱状图的位置格式(其中0.4表示每个柱状图之间的距离,'%.2f'% y表示输出小数点的位数,ha表示数值标注横向对齐,va表示柱状图纵向对齐位置)

plt.text(x,y+0.05,'%.2f'% y,ha='center',va="bottom")

for x, y in zip(X,Y2):

plt.text(x,-y-0.05,'%.2f'% y,ha='center',va="top")

40c79bd477a221525a2828f4a39d0d32.png

#Pie1-3(饼图)

fig.add_subplot(3,3,3)

n=20

z=np.ones(n)

z[-1]=2

plt.pie(z,explode=z*.05,colors=["%f"%(i/float(n)) for i in range(n)],labels=["%.2f"%(i/float(n)) for i in range(n)])

#其中z为原来输入的数组,explode表示整个扇形距离圆心的距离大小(如果不写默认为0),colors表示颜色变化,labels表示各个扇形的数值大小(其中2表示小数位数大小

plt.gca().set_aspect("equal") #圆形

plt.xticks([])

plt.yticks([])

plt.show()

bbae856c5e9dc7e43eec2e4d0e391fbb.png

#polar1-4(极坐标图)

fig.add_subplot(3,3,4,polar=True) #需要使得polar模块为真True

n=20

theta=np.arange(0.0,2*np.pi,2*np.pi/n) #定义角度

radii=10*np.random.rand(n) #定义半径

plt.plot(theta,radii) #输出折线图

#plt.polar(theta,radii)两种方式都可以 #输出极坐标图

ba0e055e9626322977711030501f2292.png

#1-5 heatmap

from matplotlib import cm #输出颜色设置模块

fig.add_subplot(335)

data=np.random.rand(3,3)

cmap=cm.Blues #选择颜色系为蓝色体系

map=plt.imshow(data,interpolation="nearest",cmap=cmap,aspect="auto",vmin=0,vmax=1) #设置图像输出时的格式

2c295f71743041cddefbaa06df0d5740.png

#1-6 3D

from mpl_toolkits.mplot3d import Axes3D #导入3D模块

fig.add_subplot(336,projection="3d")

x=np.random.randint(1,10,10)

y=np.random.randint(1,10,10)

z=x*2+2*y #函数关系式

plt.plot(x,y,z,"r") #输出3D图像

99d560cb2477359d285edf3efc0a9a25.png

#1-7 hotmap热流图

fig.add_subplot(313)

def f(x,y):

return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

n=256

x=np.linspace(-3,3,n)

y=np.linspace(-3,3,n)

X,Y=np.meshgrid(x,y) #将xy转换为矩阵

#将向量x和y定义的区域转换成矩阵X和Y,其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制#假设x是长度为m的向量,y是长度为n的向量,则最终生成的矩阵X和Y的维度都是 nm (注意不是mn)

plt.contourf(X,Y,f(X,Y),8,cmap=plt.cm.hot) #输出热流图

plt.show()

102b0a5c4609a367495f71777d1e44f9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值