1、对于图像中按钮的使用讲解
1.图1红框位置可以选择性的放大内容,结果如图2所示
图1
图2
2.若想返回图1,可分别用下图蓝框和绿框,其中蓝框用于回到上一步,绿框用于回到初始位置
3.用下图中黑框中内容可以拖动图片
4.点击图3红框中的内容,得到图4,可利用图4改变图3边距
图3
图4
5.利用蓝框可以保存图片
2、基本绘画
1.plt.plot 加载要展示的点,plt.show()将其展示
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.plot(x,y)
plt.show()
2.对于plt.plot可用color确定颜色,用linewidth确定线宽,用linestyle确定线的方式
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.plot(x,y,color="r",linewidth=1,linestyle="--")
plt.show()
3.用plt.scatter绘制散点图,可以添加参数s表大小,color表颜色
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5,5,50)
y=2*x+1
plt.figure()
plt.scatter(x,y,color='red')
plt.show()
4.可用plt.plot([x,x0],[y,y0])表连线
import matplotlib.pyplot as plt
plt.figure()
plt.plot([3,4],[3,0],color='red')
plt.show()
3、多图绘画
1.若需要两个单独的图像,分别用plt.figure(),得到如下两图,可以在plt.figure()添加参数,如num=确定图片序号,figsize( , )确定大小
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y1=2*x+1
y2=x*x
plt.figure(num=3,figsize=(5,3))
plt.plot(x,y1)
plt.figure()
plt.plot(x,y2)
plt.show()
2.若要将两个图像并到一个图中,和用一个figure(),用下代码得到如图
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y1=2*x+1
y2=x*x
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()
4、对轴线的干预
1.可以分别利用plt.xlim和plt.ylim设置x,y的范围
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.plot(x,y,color="red",linewidth=1.0,linestyle="--")
plt.xlim(-1,1)
plt.ylim(-1,1)
plt.show()
2.可以通过xlabel,ylabel添加对x,y轴的说明
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.plot(x,y,color="red",linewidth=1.0,linestyle="--")
plt.xlabel("I am x")
plt.ylabel("I am y")
plt.show()
3.利用plt.xticks或plt.yticks可以替换角标,对上图进行修改
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.plot(x,y,color="red",linewidth=1.0,linestyle="--")
plt.xlabel("I am x")
plt.ylabel("I am y")
plt.yticks([-1,1,3],
['bad','good','very good'])
plt.show()
5、设置x,y轴
1.ax=plt.gra()选出轴线,ax.spines[‘所选轴线’].set_color(‘所选颜色’)来设置轴线颜色,如none设置为无
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.show()
2.ax.xaxis.set_ticks_position(‘bottom’)和ax.yaxis.set_ticks_position(‘left’) 默认底座标为x,左坐标为y
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
3.ax.spines[‘bottom’].set_position((‘data’,0))和ax.spines[‘left’].set_position((‘data’,0))将数据为零的点设置为轴所在点
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.figure()
plt.plot(x,y)
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
plt.show()
4.对数字坐标数字的设置for label in ax.get_xticklabels()+ax.get_yticklabels():确定所有坐标数字。设置数字大小:label.set_fontsize(大小),label.set_bbox(dict(facecolor=‘背景颜色’,edgecolor=‘边框颜色’))
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,2)
y=2*x+1
plt.figure()
plt.plot(x,y,linewidth=1)
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
for label in ax.get_xticklabels()+ax.get_yticklabels():
label.set_fontsize(10)
label.set_bbox(dict(facecolor='r',edgecolor='b'))
plt.show()
6、设置图例
1.在plot用label设置线的名称,用plt.legend()打印出图例
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y1=2*x+1
y2=x*x
plt.figure()
plt.plot(x,y1,label='one',color='red')
plt.plot(x,y2,label='two',color='blue')
plt.legend()
plt.show()
2.可以在plt.legend()中设置参数,如label,loc,其中loc重新设置位置,label重新设置名称
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y1=2*x+1
y2=x*x
plt.figure()
plt.plot(x,y1,label='one',color='red')
plt.plot(x,y2,label='two',color='blue')
plt.legend(labels=['a','b'],loc='upper right')
plt.show()
7、标注
1.可用plt.annotate(‘标注文字’,xy=(标注的点),xycoords=‘data’(注:xy以data的值作为基准),xytext=(横坐标变化数,纵坐标变化数),fontsize=字体大小,arrowprops=dict(arrowstyle=‘箭头样式’,connectionstyle=‘arc3,rad=弧度数’))
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5,5,50)
y=2*x+1
plt.figure()
plt.plot(x,y)
x0=3
y0=x0*2+1
plt.scatter(x0,y0,color='b')
plt.annotate('good',xy=(x0,y0),xycoords='data',xytext=(+3,-1),fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
plt.show()
2.plt.text(开始x位置,开始y位置,r’书写内容’,fontdict={‘size’:大小,'color:‘颜色’})
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5,5,50)
y=2*x+1
plt.figure()
plt.plot(x,y)
x0=3
y0=x0*2+1
plt.scatter(x0,y0,color='b')
plt.text(1,1,r'good',fontdict={'size':30,'color':'r'})
plt.show()
也有ha,va等在后续画柱状图会有使用敬请期待