关于matplotlib的使用

关于matplotlib的使用

例子程序:

# 1.导入模块
import matplotlib.pyplot as plt
#  2.准备数据
#  查看一个人最近5年的收入情况
x = [1,2,3,4,5,]
y = [60000,75000,100000,120000,150000]

# 3.创建画布
plt.figure(figsize=(12,5),dpi=100)

# 4.绘图
plt.plot(x,y)

# 6.保存
plt.savefig('年收入.png')

# 5.展示
plt.show()

创建画布时可指定画布大小和画布的像素

# plt.figure(figsize=(), dpi=)
#    figsize:指定图的长宽
#     dpi:图像的清晰度
#     返回fig对象

保存图片时要注意:show方法执行后会展示画布的同时清空画布,所以show方法后再保存会存到一张空白图片,所以为了保存成功,保存方法调用需要放在show方法之前

plt.savefig(path)
# 1.创建画布,并设置画布属性
plt.figure(figsize=(20, 8), dpi=80)
# 2.保存图片到指定路径
plt.savefig("test.png")

如在jupyter notebook内运行时出现图像显示不出来,并出现以下字段
在这里插入图片描述
加一行代码

%matplotlib inline

即可解决。

设置刻度

plt.xticks(x, **kwargs)

x:要显示的刻度值,标量值列表
第二个参数:刻度标签列表,即刻度的名字

plt.yticks(y, **kwargs)

y:要显示的刻度值,标量值列表
第二个参数:刻度标签列表,即刻度的名字
  • 绘图步骤
    1. 导包: import matplotlib.pylot as plt
    2. 准备数据
    3. 创建画布; plt.figure(figsize=(20, 8), dpi=100)
    4. 绘图(折线图) plt.plot(x, y)
    5. 展示: plt.show()
  1. Matplotlib三层结构[**]
    1. 容器层
      1. Canvas: 画板
      2. Figure: 画布
      3. 坐标系: Axes
        1. 坐标轴(Axis)
    2. 辅助层
      1. 刻度, 坐标标题, 网格, 图例, 图像标题
    3. 图像层
      1. 折线图, 散点图, 柱状图, 直方图, 饼状图

3.2 折线图(plot)与基础绘图功能[]

  1. 折线图绘制与保存图片

  2. 绘图三步:

    1. 创建画布
    2. 绘制图像
    3. 展示
  3. 保存图片
    API: plt.savefig(path)
    注意: 保存图片必须在show方法之前
    原因: show()清空画布.

  4. 完善原始折线图1(辅助显示层) [***]

2.2 添加自定义x,y刻度

  • 添加x轴刻度
    • api: plt.xticks(x_ticks, x_ticks_labels)
  • 添加y轴刻度
    • api: plt.yticks(y_ticks, y_ticks_labels)
  • 注意:
    1. x轴刻度和y轴刻度没有关系
    2. 第一参数必须是一个标量值(数值), 第二参数是显示的文本, 必须和第一个参数是一一对应

2.3 中文显示问题解决[了解]

  1. 下载黑体
  2. 拷贝字体文件
    ~/.virtualenvs/ai/local/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf

字体文件

打印matplotlib配置文件的位置

import matplotlib

print(matplotlib.matplotlib_fname())

3. 编辑配置文件

  ```python 
#cd  ~/.virtualenvs/ai/local/lib/python3.5/site-packages/matplotlib/mpl-data 
#vim matplotlibrc 

# 添加下面内容到配置文件中
font.family         : sans-serif
font.sans-serif         : SimHei
axes.unicode_minus  : False
  1. 删除缓存文件
    rm -r ~/.matplotlib/*

    rm -r ~/.cache/matplotlib/*
  2. 重新运行 jupyter notebook

2.4 添加网格显示

  • API:
    • plt.grid(True, linestyle=’–’, alpha, color)
  • 参数:
    • linestyle: 线的样式, – 虚线图, - 实线
    • alpha: 透明度
    • color: 颜色

2.5 添加描述信息

  • 添加x轴描述: plt.xlabel()
  • 添加y轴描述: plt.ylabel()
  • 添加标题: plt.title()

2.6 完善原始折线图2(图像层)

  1. 如何绘制多条折线图
    • 多次调用plot方法.
  2. 图例
    • API: plt.legend(loc=‘best’)
    • 注意: 要求必须使用label标记图形.

2.7 多个坐标系显示-plt.subplots(面向对象的画图方法)

  • API: plt.subplots(nrows, ncols, figsize, dpi)
  • 参数:
    • nrows: 行数
    • ncols: 列数
    • figsize: 画布大小
    • dpi: 清晰度
  • 返回:
    • 画布, 坐标系列表
  • 坐标系功能与plt相同, 有些方法不同
    • set_xticks()
    • set_yticks()
    • set_xticklabels()
    • set_xlabel()
    • set_ylabel()
    • set_title()

2.8 折线图的应用场景

  1. 描述数据的变化情况
  2. 绘制函数图形

3.3 常见图像绘制[*]

  1. API与含义:
    • 折线图: 用于展示数据的变化情况
      • API: plt.plot(x, y)
    • 散点图: 用于 观察两个变量间的关联, 显示离散点分布规律(情况)
      • API: plt.scatter(x, y)
    • 柱状图: 统计/对比
      • API: plt.bar(x, height, width, color)
     - Parameters:  
		x : x轴的标量序列
		height: 标量或标量序列, 柱状图的高度
		width : 柱状图的宽度, 默认值0.8
		align : 柱状图在x维度上的对齐方式, {‘center’, ‘edge’}, 可选, 默认: ‘center’
		**kwargs :
		color:选择柱状图的颜色
  • 直方图: 展示连续数据的分布情况
    • API: plit.hist(x, bins)
 - Parameters:    
	x : 数组或数组的序列, 表示要展示的数据
	bins : 整数,序列 可选
	如果是整数就是柱状体的个数
	如果序列就是每个柱状体的边缘值, 左开右闭.
  • 饼状图: 占比情况
    • API: plt.pie(x, labels, autopct, colors)
	 x:数量,自动算百分比
	labels:每部分名称
	autopct:占比显示指定%1.2f%%
	colors:每部分颜色
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值