Matplotlib笔记2----------绘图属性

1.图例:legend

  • 参数fontsize:图例大小
  • 参数loc:图例位置(best,upper right,upper left,lower left,lower right,right,center left,center right,lower center,upper center,center)
  • 参数ncol:显示成几列,默认一列
  • 参数bbox_to_anchor(x,y,width,height):图例具体位置
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(6,4))
x = np.linspace(0,2*np.pi)
plt.plot(x,np.sin(x),label='Sin')
plt.plot(x,np.cos(x),label='Cos')
#图例
plt.legend(
    fontsize=10,
    loc='center',
    ncol=2,
    bbox_to_anchor=[0,1,1,0.2]
)

2.线条属性

  • 颜色:c(color)
  • 样式:ls(line style)
  • 宽度:lw(line width)
  • 透明度:alpha(0~1)
  • 标签:label
  • 标记:marker
  • 标记的背景颜色:mfc(marker face color) 
  • 标记大小:markersize
  • 标记(点)的边缘颜色:markered
  • 标记(点)的边缘宽度:markeredgewidth
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(6,4))
x = np.linspace(0,2*np.pi,20)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x,y1,c='r',marker='o',ls='--',lw=1,label='sinx',mfc='y')
plt.plot(x,y2,c='b',marker='*',ls='-',lw=2,label='cosx',mfc='w',markersize=10)
plt.plot(x,y1-y2,c='y',marker='^',ls='-',lw=3,label='sinx-cosx',mfc='b',markersize=10,alpha=0.5)
plt.plot(x,y1+y2,c='orange',marker='>',ls='-.',lw=4,label='sinx+cosx',mfc='y',markersize=10,markeredgecolor='green',markeredgewidth=2)
plt.legend()

3. 坐标轴

  • 坐标轴刻度
    • xticks
    • yticks
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(0,10)
y = np.sin(x)
plt.plot(x,y)
plt.xticks(np.arange(0,11,1),fontsize=10,c='r')
plt.yticks([-1,0,1],labels=['min','0','max'],fontsize=10,c='b',ha='right') #ha:水平对齐方式
plt.show()

  • 坐标轴范围
    • xlim
    • ylim
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(0,2*np.pi)
y = np.sin(x)
plt.plot(x,y,c='r')
plt.xlim(-2,8)
plt.ylim(-2,2)

  • 坐标轴配置(axis)
    • off:不显示坐标轴
    • equal:让x轴和y轴刻度距离相同
    • scaled:自动缩放坐标轴和图片匹配
    • tight:紧凑型自动适配图片
    • square:让画布呈现正方形
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(0,2*np.pi)
y = np.sin(x)
plt.plot(x,y,c='r')
plt.axis([-2,8,-2,2])
# 以square为例
plt.axis('square')
plt.show()

 4.标题和网格

  • title
  • grid
    • 参数ls,lw,c同之前
    • 参数axis:选择显示哪个网格线
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(0,10)
y = np.sin(x)
plt.plot(x,y)
#图的标题
plt.title('sin Picture',fontsize=20,loc='left')
#父标题,参数y为位置
plt.suptitle('title',y=1.1,fontsize=25)
#网格线
plt.grid(ls='-.',lw=0.5,c='r',axis='x')

5.标签

  • xlabel、ylabel 
  • 参数fontsize:字体大小
  • 参数rotation:旋转角度,x轴默认0度,y轴默认90度
  • 参数horizontalalignment:对齐方式
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(0,10)
y = np.sin(x)
plt.plot(x,y)
#坐标轴的标签
plt.xlabel('y=sin(x)',fontsize=20,rotation=45,horizontalalignment='left')
plt.ylabel('y=sin(x)',fontsize=20,rotation=45,horizontalalignment='right')

6.文本

  • text 
  • 参数x:文本x轴坐标值
  • 参数y:文本y轴坐标值
  • 参数s:文本内容
  • 参数fontsize:文本字体大小
  • 参数color:文本颜色
  • 参数ha:文本水平对齐方式
  • 参数va:文本垂直对齐方式
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(1,10,10)
y = np.array([60,30,20,90,40,60,50,80,70,30])
plt.plot(x,y,ls='--',marker='o')
for a,b in zip(x,y):
    plt.text(
        x=a,
        y=b,
        s=b,
        fontsize=10,
        color='r',
        ha='center',
        va='center'
    )

7.注释

  • annotate
  • 参数text:注释内容
  • 参数xy:需要注释数据点的坐标值,即箭头指向的位置
  • 参数xytext:注释内容的位置
  • 参数arrowprops:箭头样式
    • 参数width:箭头线的宽度
    • 参数headwidth:箭头头部的宽度
    • 参数facecolor:箭头的背景颜色
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(1,10,10)
y = np.array([60,30,20,90,40,60,50,80,70,30])
plt.plot(x,y,ls='--',marker='o')
plt.annotate(
    text='Max Value',
    xy=(4,90),
    xytext=(1,80),
    arrowprops={
        'width':2,
        'headwidth':8,
        'facecolor':'red'
    }
)

8. 图片保存

  • savefig
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(5,3))
x = np.linspace(0,2*np.pi)
plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))
#方式1
plt.savefig('sincos.png')
#方式2
fig.savefig(
    fname='sincos2.png', #文件名称,扩展名支持:png,jpg
    dpi=100, #保存图片的像素密度
    facecolor='pink', #背景颜色
    pad_inches=1, #内边距
)

 知识点为听课总结笔记,课程为B站“千锋教育python数据可视化Matplotlib绘图教程,Matplotlib柱状图|Matplotlib动态图|Matplotlib散点图”:千锋教育python数据可视化Matplotlib绘图教程,Matplotlib柱状图|Matplotlib动态图|Matplotlib散点图_哔哩哔哩_bilibili

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值