接下来要进行代码教学的几个部分:
import numpy as np import matplotlib.pyplot as plt x=np.linspace(-1,1,50) y=x**2 Y=2*x+5 # plt.figure(num=500,figsize=(10,5)) # plt.plot(x,y) # plt.show() #直线图 plt.figure() #这里l1和l2后面必须加逗号,为了传参给legend成功 #画图 plot函数:(变量 颜色 线宽 线种类 图例) l1,=plt.plot(x,Y,label='this')#最后的label是将曲线命名,方便打印图例 l2,=plt.plot(x,y,color='red',linewidth=2.0,linestyle='--',label='that') plt.xlim((-1,2)) #限制x的范围 plt.ylim((-1,8)) plt.xlabel('i am x') #给x贴标签 plt.ylabel('i am y') plt.xticks(np.linspace(-1, 2,5))#更换x,y坐标轴的显示 #空格前面需要加\来识别空格 $是数学形式 plt.yticks([-1,0,2,3,7],['$really\ bad$','$bad$','$normal$','$good$','$pretty\ good$'])#需要一一对应 #gca : get current axis 得到现在的坐标轴 ax=plt.gca() #得到现在的坐标轴 ax.spines['right'].set_color('none') #现在坐标轴有四个轴(spines)可以设置颜色为消失 ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') #设置x轴为bottom ax.yaxis.set_ticks_position('left') #设置y轴为left ax.spines['bottom'].set_position(('data',0)) #移动轴的位置 ax.spines['left'].set_position(('data',0)) #散点图 x0=1 y0=2*x0+5 plt.scatter(x0, y0, s=100,color='b') #s代表点数 plt.plot([x0,x0],[y0,0],'k--',lw=1.5) #两个列表表示点(x0,y0)(x0,1)一一对应 #加标注 #method 1 plt.annotate(r'$2x+5=%s$'%y0, xy=(x0,y0),xycoords='data',xytext=(+30,-30), textcoords='offset points', fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')) #method 2 plt.text(x0+0.1, y0-2, r'$this\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$') #防止自己的数据遮挡坐标轴点的数据的方法(基本上所有的图都可以包括进去) for label in ax.get_xticklabels() + ax.get_yticklabels(): label.set_fontsize(12) label.set_bbox(dict(facecolor='white',edgecolor='None',alpha=0.7)) plt.legend() #打印图例 plt.show()
喜欢的点个赞哦!
效果实际图: