matplotlib笔记

基础应用

#导入模块
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柱状图

转载于:https://juejin.im/post/5cafdbeee51d456e7140858b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值