day15 matplotlib学习续

标注

代码

x1=np.linspace(-5,5,50)
y1=2*x1+2
plt.figure(num=1,figsize=(8,4))
plt.plot(x1,y1,color='black',linewidth=1)
#gea是'get current axis'的简写,也就是把轴拿出来
ax=plt.gca()
#轴的脊梁也就是四个边框,
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#用下面的边框充当x轴,左边充当y轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#移动坐标轴
ax.spines['bottom'].set_position(('data',0))#把x轴绑定在y=0的位置
ax.spines['left'].set_position(('data',0))#把y轴绑定在x=0的位置


x0=1
y0=2*x0+2
#画出(x0,y0)这个点,s表示size,b蓝色简写
plt.scatter(x0,y0,s=50,color='b')
#'k--'表示黑色的虚线,lw即linewidth简写
plt.plot([x0,x0],[y0,0],'k--',lw=1.5)
#%s由%y0传入,xy从哪个点打印标注,xycoords以(x0,y0)为基准,根据(+30,-30)把文字描述移动,fs字体大小,arrowprops描述箭头线
plt.annotate('2x+1=%s'%y0,xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
plt.text(-3,4,'other method')
plt.show()

运行截图

散点图

代码

n=1024
#平均值是0,方差是1,随机生成1024个数
X=np.random.normal(0,1,n)
Y=np.random.normal(0,1,n)
#颜色
T=np.arctan2(Y,X)
#alpha 透明度
plt.scatter(X,Y,s=75,c=T,alpha=0.5)
plt.xlim((-1,2))
plt.ylim((-1,2))
#取消坐标轴标尺
plt.xticks(())
plt.yticks(())
plt.show()

运行截图

柱状图

代码

n=12
X=np.arange(n)
Y=(1-X/float(n))*np.random.uniform(0.5,1.0,n)
#face主体颜色,edge边框颜色
plt.bar(X,Y,facecolor='#9999ff',edgecolor='w')
for x,y in zip(X,Y):
    plt.text(x,y+0.01,'%.2f'%y,ha='center',va='bottom')
plt.xticks(())
plt.yticks(())
plt.show()

运行截图

1.zip()可以用于同时遍历多个序列

list_1 = [1, 2, 3, 4]
list_2 = ['a', 'b', 'c']
 
for x, y in zip(list_1, list_2):
    print(x, y)

2.使用内置函数enumerate()返回的的迭代对象进行遍历时的序列解包

# 使用enumerate进行遍历(使用.format()进行格式化)
x = ['a', 'b', 'c']
for i, v in enumerate(x):
    print('遍历出来的值的下标是{0},值是{1}'.format(i, v))

等高线

代码

#定义高度函数
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)
#附上颜色
plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmp=plt.cm.hot)
C=plt.contourf(X,Y,f(X,Y),8,color='black',linewidth=.5)
plt.xticks(())
plt.yticks(())

posted @ 2021-01-20 23:54  晨起  阅读(54)  评论(0编辑  收藏  举报