基础应用
#导入模块
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50)
y1 = 2*x + 1
y2 = x ** 2
plt.figure()#定义图像窗口
plt.plot(x,y1)#画出(x,y1)曲线
plt(x,y2,color='red',linewidth=1.0,linestyle='--')#可选参数:color选择颜色,linewidth线宽,linestyle线的形式
plt.show()#显式图像
#jupyterlab中只需要plt.plot()即可画出图像
设置坐标轴

设置坐标轴位置
legend(图例:区分不同数据
- 可选参数plt.legend(handles=,labels=,loc=,)

annatation(注解
- plt.scatter(x0,y0):打印指定点

- plt.plot([],[]):显示线条

- 标注线条
- plt.annotate()
其他可选参数:fontsize指定字体大小,xycoords='data'表示基于数据的值选定位置
- plt.text()

axis tick
code
x = np.linspace(-1,1,50)
y = 2*x + 1
y2 = x ** 2
plt.xlim(-1,2) #x取值范围
plt.ylim(-2,3)#y取值范围
plt.xlabel('i am x')#x轴标签
plt.ylabel('i am y')#y轴标签
#设置坐标轴
new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks) #改变x坐标轴
plt.yticks([-2,-1.8,-1,1.22,3],
[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$'])
#重命名y轴坐标,r'$name$'改变字体,$ $之间输出空格/特殊字符要用'\',
# gca = 'get current axis'
ax = plt.gca() # 获取坐标轴
ax.spines['right'].set_color('none') # 移除
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom') # 设置x轴
ax.yaxis.set_ticks_position('left') # 设置y轴
ax.spines['bottom'].set_position(('data',0)) # 通过data值选择位置
ax.spines['left'].set_position(('data',0))
#添加图例
l1, = plt.plot(x,y,label='up')
l2, = plt.plot(x,y2,color='red',label='down')
plt.legend(loc='best',handles=[l1,l2,],labels=['a','b'])
# 添加注解annatate
x0 = 0.5
y0 = 2*x0+1
plt.scatter(x0,y0,s=50,color='b') #将点(x0,y0)标注出,s:size,'b':blue
plt.plot([x0,x0],[y0,0],'k--')
# [x0,x0],[y0,0]对应(x0,y0) (x0,0)连结的线,'k--'表示黑色的虚线
#标注点(xo,y0)
##method 1
plt.annotate(r'$2x+1=y$',xy=(x0,y0),xytext=(+30,-30),textcoords = 'offset points',
arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=0.2'))
# xytext=(+30,-30)和textcoords='offset points'表示对标注位置的描述和xy的偏差值
# arrowprops是对箭头相关类型的设置
##method2
plt.text(-1.2,1.5,r'$this\ is\ the\ text.\mu\ \sigma_i\ \alpha_t$',
fontdict={'color':'r'})
# -1.2,1.5表示标注起始坐标,fontdict指定字体格式(可选参数包括size,color等)
#调整坐标
for label in ax.get_xticklabels()+ax.get_yticklabels():
label.set_fontsize(12)#调节字体大小
label.set_bbox(dict(facecolor='g',edgecolor='none',alpha=0.5))
#bbox设置目的内容透明度的相关参:
#facecolor调节前景色,edgecolor设置边框,alpha设置透明度
画图种类
Scatter散点图
- plt.scatter(X,Y)#可选参:size/color..
bar柱状图