Matplotlib自我总结

1. Figure

官网给出的Figure结构

  • Figure: 一个绘图的图窗,包含了一幅图的所有信息;
  • Axes:图窗Figure里的画纸,一个Figure里可以有一个或多个Axes,一个Axes里面画一个子图;
  • Axes中的属性:图里面用圆圈圈出来的所有属性:标题、坐标标签、线、散点……

2 属性预设

对整个图窗里的所有属性进行的设置,后期还可以单独得设置

  • 设置中文显示
plt.rcParams['font.sans-serif']=['SimHei']
  • 设置负号显示
matplotlib.rcParams['axes.unicode_minus']=False
  • 字体设置:类型,如宋体;正or斜体;字体大小
plt.rcParams['font.family'] = 'STSong' # 宋体
plt.rcParams['font.style'] = 'italic' # 斜体,正体是normal
plt.rcParams['font.size'] = 12 # 字号

3 建立

  1. 建立Figure
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(12,8))  #12,8为图片长和宽

相关属性:

属性名属性值
dpi(分辨率)100(默认)
facecolor(背景色)‘white’
edgecolor(边框色)‘white’
frameonTrue(显示边框)
  1. 建立Axes
    方法一:快速便捷的排列(多个axes)
ax1 = fig.add_subplot(221)#2行2列第一个位置
ax2 = fig.add_subplot(222)#2行2列第一个位置
ax3 = fig.add_subplot(223)#2行2列第一个位置
ax4 = fig.add_subplot(224)#2行2列第4个位置

方法二:指定位置和大小

ax = fig.add_axes([0.1, 0.2, 0.3, 0.4])#在figure中x=0.1,y=0.2的位置,建立一个长0.3宽0.4的Axes

方法三:绘制一个axes,有5种任选,同时指定图像类型projection

ax = plt.axes(projection=cart_proj)
ax = fig.add_subplot(111, projection = '3d')
ax = fig.gca(projection = '3d')
ax = fig.subplots(1, 1, subplot_kw={'projection': proj})
fig, ax = plt.subplots(1, 1)

4 坐标轴设置

  1. x,y轴的范围
ax.set_xlim(x1, x2)
ax.set_ylim(y1, y2)
  1. 刻度and标签
ax.set_xticks([1,2,3,4])
ax.set_xticklabels(['a','b','c','d'])
# 或者
plt.xticks(x, ticks, rotation) # x是刻度,tick是对应的标签,rotation是旋转角度
ax.set_xticks(x, ticks, rotation)

注意嗷:因为一个Figure有可以有好多的axes。如果是ax.set_xticks就是对特定的那个axes设置属性。如果只有一个图片,就用plt也是一样的。其他属性设置同理。

  1. 坐标轴显示与否
ax.spines['top'].set_visible(False) # 上面的坐标轴不显示
ax.spines['right'].set_visible(False) # 右边的坐标轴不显示
  1. 坐标轴名称
ax.set_xlabel('x axis')
ax.set_ylabel('y axis')
  1. 坐标轴的位置
plt.axhline(0) # 设置x坐标轴在位置0处,y坐标轴就是axvline

5 绘图属性(颜色,线形,标记符号)

颜色代码线形代码标记代码
‘b’实线-.
绿‘g’虚线xx
‘r’虚点-.o
‘c’点线:三角v
‘p’方块s
‘y’*
‘k’加号+
‘w’菱形D

实例:

ax.plot(x,y, color='k', linestyle='-', alpha=0.3)
ax.plot(x,y,'-k',alpha=0.3)

6 标题

ax.set_title('abc')

参数:
loc: {‘center’, ‘left’, ‘right’},设置标题显示的位置
pad: 设置标题距离图像上边缘距离
fontsize: 设置字体大小
color: 设置字体颜色

7 图例

设置图例:

ax.plot(x,y,label='我是图例')

显示图例:

ax.set_legend()

属性:
loc:lower right(右下角) / upper left(左上角) / best(自己调整的最佳位置)
fancybox = True 显示边框
framealpha = 1 边框透明度
shadow= True 阴影
borderpad=1边框宽度

8 网格

plt.grid(True)

9 注释文本

ax.text(x, y, label, rotation) # 若rotation为x,则文字与x轴平行,默认是正的

参考:一张图看懂matplotlib的绘图结构

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值