matplotlib绘制图表具体知识点全在代码注释中
绘制柱状图 饼状图 直⽅图 等⾼线 三维图
import matplotlib.pyplot as plt
plt.plot
plt.plot([1,4],[2,8]) #绘制⼀条线是先先横坐标再写纵坐标
plt.show()
'''
使⽤matplotlib绘制图形时,其中最为常⽤的场景。⼀个是画点,⼀个是画线,pylot的使⽤⽅法如下title 设置图标名称
xlable 设置x轴名称
ylable 设置y轴名称
'''
#绘制折线
x=[1,2,3,4,5]
y=[1,4,9,16,25]
plt.plot(x,y)
plt.show()
#修改线条宽度设置⽂字设置xy轴的名称
#调⽤plot⽅法绘制线条
x=[2,3,4,5,6]
y=[4,9,16,25,36]
plt.plot(x,y,linewidth=5)
plt.xlabel("x")
plt.ylabel("y=x^2")
#⽤来正常显⽰中⽂标签
plt.title("折线图")
plt.show()
#绘制曲线,其内涵就是通过很多直线近似成曲线
#绘制曲线,其内涵就是通过很多直线近似成曲线
import matplotlib.pyplot as plt
import numpy as np
x=range(-100,100)
matplotlib中subploty=[i**2 for i in x]
plt.plot(x,y)#保存图⽚
plt.savefig("01.jpg") #默认是png
plt.show()
#绘制正弦余弦曲线
#⽣成0,10之间的⼀百个等差数
x=np.linspace(0,10,100)
sin_y=np.sin(x)
plt.plot(x,sin_y)
cos_s(x)
plt.plot(x,cos_y)
plt.show()
x=np.linspace(0,10,100)
sin_y=np.sin(x)
plt.subplot(2,2,1) #将画布进⾏区域划分将画布分为两⾏两列 #修改x轴y轴的做表
plt.xlim(-5,20)
plt.ylim(-5,20)
plt.plot(x,sin_y) #修改x轴y后做表
plt.subplot(2,2,3)
cos_s(x)
plt.plot(x,cos_y)
plt.show()
#使⽤scatter函数绘制随机点,该函数需要接受x坐标,y坐标的序列
import matplotlib.pyplot as plt
import numpy as np
x =np.linspace(0,10,100)
plt.subplot(2,2,1)
sin_y=np.sin(x) #绘制散点图
plt.scatter(x,sin_y)
plt.subplot(2,2,2)
plt.plot(x,sin_y,'o')
plt.show()
np.random.seed(0) #每次获得的随机数相等
x =np.random.rand(100) #0.0-1.0之间的点
y=np.random.rand(100)
size=np.random.rand(100)*1000
color=np.random.rand(100)
plt.scatter(x,y,s=size,c=color,alpha=0.7)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,10,100)
#使⽤legend()图例,给plot⽅法添加lable
plt.plot(x,x,'--g',label='--g')
plt.plot(x,x+1,'-.r',label='-,r')
plt.plot(x,x+2,':b',label=':b')
plt.plot(x,x+3,'.k',label='.k')
plt.plot(x,x+4,',c',label=',c') # 边框透明度阴影边框宽度
plt.legend(loc='lower right',fancybox=True,framealpha=1,shadow=True,borderpad=1) #默认在左上⾓可以⽤loc进⾏修改plt.show()
import matplotlib.pyplot as plt
x=[1998,1999,2000,2001]
y=[1000,2000,3000,4000]
plt.bar(x,y,width=0.6)
#修改x坐标的值
x_label=['1998年','1999年','2000年','2001年']
plt.xlabel('年份')
plt.ylabel('销量')
#添加标题title
plt.title("根据年份销量对⽐图")
plt.show()
x=np.arange(5)
np.random.seed(0)
print(x)
y=np.random.randint(-5,5,5)
print(y)
#将画布分为两个区域
plt.subplot(1,2,1)
#在0位置添加蓝⾊的线条
bar_color=plt.bar(x,y,color='blue')
plt.axhline(0,color='green')
for bar,height in zip(bar_color,y):
if height<0:
bar.set(color="red")
plt.subplot(1,2,2)
plt.barh(x,y,color='red') #barh 是xy轴调换
plt.axvline(0,color='green')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
#饼状图是通过函数pie进⾏绘制
man=71351
woman=68187
man_perc=man/(man+woman)
woman_perc=woman/(man+woman)
labels=['男','⼥']
#labels 名称 colors 颜⾊ explode 分裂 autopct 百分号
paches,texts,autotexts=plt.pie([man_perc,woman_perc],labels=labels,autopct="%0.1f%%")
plt.show()
#绘制直⽅图
#⽰例,使⽤random函数⽣成1000个正态分布的随机数,使⽤hist函数绘制这100个随机数的分布状态import matplotlib.pyplot as plt
import numpy as np
#⽣成⼀千个正态分布随机数 normal指定期望和均值的 randn
x=np.random.randn(1000)
plt.hist(x)
plt.show()
x=al(0,0.8,1000)
y=al(2,0.8,1000)
z=al(-1,0.8,1000)
kwargs=dict(bins=10) #alpha 是透明度
plt.hist(x,**kwargs,alpha=0.5)
plt.hist(y,**kwargs,alpha=0.5)
plt.hist(z,**kwargs,alpha=0.5)
plt.show()
#绘制等⾼线图和三维图import matplotlib.pyplot as plt import numpy as np
x=np.linspace(-10,10,100)
y=np.linspace(-10,10,100) #计算x y相交的点XY
X,shgrid(x,y)
#计算Z
Z=np.sqrt(X**2,Y**2)
#绘制等⾼线图
plt.show()
#绘制等⾼线图和三维图import matplotlib.pyplot as plt import numpy as np
x=np.linspace(-10,10,100)
y=np.linspace(-10,10,100) #计算x y相交的点XY
X,shgrid(x,y)
#计算Z
Z=np.sqrt(X**2,Y**2)
#绘制等⾼线图
plt.show()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论