2020/7/26

最近开始学python,作为python小白把自己每天学习的笔记写成博客来记录下自己的生活吧~~此博客代码和知识点主要来自《python编程从数据分析到机器学习实践》~刘瑜著

note1:python中的matplotlib库
matplotlib绘画一张二维图主要有7部分组成

  1. Figure
  2. axes
  3. axis
  4. data
  5. title
  6. axis附带的tick,tick label
  7. lable
    形象比喻画一张二维图画板——figure
    画纸——axex+data(用于确定绘图辅助区域)
    画笔——plot
    标题——title
    标签——label
    plot(*args,fmt,data=None,**kwargs)
    *args :'arguments’的缩写,主要接受(x,y的坐标值)xy可以是元组,列表,或者数组的值,当仅写一个时表示x=y
    fmt:字符串[color][market][line],用于指定线的颜色/标记图标,线形
    data:带有标记数据的对象。给定的话提供标签名称,就可以通过x,y坐标绘制
    **kwargs:用键值对形式指定的线的一些属性,如linewidth=2指定线宽为2,color=‘green’线的颜色是绿色,linestyle,markersize指代图标大小
    eg:
import matplotlib.pyplot as plt
plt.plot(10,10,'o')#在(10,10)点处用o图标注
plt.show()			#显示图形

在这里插入图片描述

plt的用法

  • 用数组绘制若干的点``
import numpy as np
import matplotlib.pyplot as plt
x=np.array([0,10,5,5])
y=np.array([5,5,0,10])
plt.plot(x,y,'o')
plt.show()

在这里插入图片描述
关于plot(),线的颜色,图标和线形
有两种方法
1.字符串设置

import matplotlib.pyplot as plt
import numpy as np
t1=np.arange(0.0,5.0,0.02)  #x轴0——5之间间隔为002
plt.plot(t1,np.sin(2*np.pi*t1),'go--')   #g为绿色,o为图标,——为虚线
plt.show()

在这里插入图片描述
2键值对设置.

import matplotlib.pyplot as plt
import numpy as np
t1=np.arange(0.0,5.0,0.02)  #x轴0——5之间间隔为002
plt.plot(t1,np.sin(2*np.pi*t1),color='r',marker='v',linestyle='-')   #r为红色色,v为下三角形,—为实线
plt.show()

在这里插入图片描述

  • 注释
    1.test()文本标题注释
    plt.test(x,y,s,fontdict=None,withdash=False,**kwargs)
    参数说明如下:
    (1)x,y为标注在绘图区域位置
    (2)s为文本内容
    (3)fontdict为默认文本属性字典
    (4)withdash
    (5)**kwargs:用键值形式代替fontdict参数,内容有如下:
    fontsize:表示字体大小
    verticalalignment:垂直对齐方式 ,参数:[ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ]
    horizontalalignment:水平对齐方式 ,参数:[ ‘center’ | ‘right’ | ‘left’ ]
    xycoords选择指定的坐标轴系统:
    figure points:图左下角的点
    figure pixels:图左下角的像素
    figure fraction:图的左下部分
    axes points:坐标轴左下角的点
    axes pixels:坐标轴左下角的像素
    axes fraction:左下轴的分数
    data:使用被注释对象的坐标系统(默认)
    polar(theta,r):if not native ‘data’ coordinates t

eg

import matplotlib.pyplot as plt
import numpy as np
plt.text(1.5,0.5,r'sin()',fontsize=15,fontweight='heavy')
t1=np.arange(0.0,5.0,0.02)
plt.plot(t1,np.sin(2*np.pi*t1),color='r',marker='v',linestyle='-')
plt.show()

在这里插入图片描述
2.arrow()箭头标注
plt.arrow(x,y,dx,dy,**kwargs)
dx,dy:箭头沿x,y的长度,箭头头部坐标为x+dx,y+dy
**kwargs:Width 箭尾宽度
head_width箭头宽度
head_length箭头长度

import matplotlib.pyplot as plt
import numpy as np
plt.text(1.5,0.5,r'sin()',fontsize=15,fontweight='heavy')
plt.arrow(1.55,0.63,-0.12,0.2,width=0.05,fc='r')#增加红色箭头
t1=np.arange(0.0,5.0,0.02)
plt.plot(t1,np.sin(2*np.pi*t1),color='r',marker='v',linestyle='-')
plt.show()

在这里插入图片描述
3.annotate复杂标注
plt.annotate(s,xy,*args,**kwargs)
eg:

import matplotlib.pyplot as plt
import numpy as np
plt.annotate('hys',xy=(4,2),xytext=(4.6,0.25))
t1=np.arange(0.0,5.0,0.02)
plt.plot(t1,np.sin(2*np.pi*t1),color='g',marker='+',linestyle='-.')
plt.show()

在这里插入图片描述

  • 图标和文字的设置**
    1.直接设置fontproperties(字体属性)
    例如
plt.xlabel('设置x轴中文显示',fontproperties="STCAIYUN",fontsize=20)

2.指定字库路径

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import FontProperties      #导入字体属性设置函数
font=FontProperties(fname=r"c:\windows\fonts\simsun.ttc") #从windows中带入宋体
plt.xlabel('设置x轴中文显示',fontproperties="STCAIYUN",fontsize=20)
plt.ylabel('设置y轴中文显示',fontproperties="STCAIYUN",fontsize=20)
t1=np.arange(0.0,5.0,0.02)
plt.plot(t1,np.sin(2*np.pi*t1),color='g',marker='+',linestyle='-.')
plt.show()

  • 多画板绘图

1.显示多画板Figure界面

matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class ‘matplotlib.figure.Figure’>, clear=False, **kwargs)

num 表示的是第几个图
figsize(float,float):图的长与宽
dpi:分辨率 全称 dots per inch
facecolor:背景颜色
edgecolor:边框颜色
frameon:设置是否显示边框
eg

s1=plt.figure('OK',figsize=(7,5),facecolor='g',edgecolor='r')
#设置北京颜色为绿色,边框颜色为红色,长7宽5

显示多个绘图子页面
函数subplot(*args,**kwargs)
*args:指定(nrows,ncols,index)其中nrows,ncols分别是吧figure分成几行几列,index是指定一张subplot的图顺序具体位置例如(2,2,1)表示把figure分成四个小图的第一张小图

**kwargs:

eg:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import FontProperties
t1=np.arange(0.0,5.0,0.1)
t2=np.arange(0.0,5.0,0.02)
plt.figure(1)
plt.subplot(2,2,1,facecolor='m')   #把figure1分成2行2列,第1幅图加背景色
plt.plot(t1,t1,'bo','k')
plt.subplot(2,2,2,title='cos line')#第2幅图是cos函数图
plt.plot(t2,np.cos(2*np.pi*t2),'r--')
plt.subplot(2,2,3,projection='polar')#第3幅图是223指定坐标等价
plt.plot(t2,t2,'g--')
plt.subplot(2,2,4,frameon=False)#第4幅图是cos函数图,无边框
plt.plot(t2,np.cos(2*np.pi*t2),'r--')
plt.show()

在这里插入图片描述

散点图

(机器学习中用的比较多的散点图) scatter(matplotlib.pyplot.scatter(x, y, s=None,
c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None,
alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None,
data=None, **kwargs)
方法相熟:https://blog.csdn.net/weixin_40941966/article/details/80896272?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159576966719725250134636%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159576966719725250134636&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v3-1-80896272.pc_ecpm_v3_pc_rank_v3&utm_term=matplotlib.pyplot.scatter&spm=1018.2118.3001.4187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值