Matplotlib入门系列4_一次创建多个子图

2019年7月15日14:45:27

环境

Python3.6

前言

Matplotlib的一些基础知识

1、创建
2、简单的plt例子
3、绘图样式的修改
4、一次创建多个子图
5、保存图片
6、关于Matplotlib中文乱码这回事

直接上代码操作,可以体验一下,自己根据自己需要修改即可。
关于实际效果的生成,自己实际运行一下就会显示,截图还是有点麻烦的,就不截图了。

建议刚开始读一下官网对这个库的基本介绍。
	英文阅读有点吃力的话,使用谷歌浏览器的谷歌翻译插件,网页全部翻译为中文阅读即可。
官网:
        https://matplotlib.org/tutorials/introductory/usage.html#sphx-glr-tutorials-introductory-usage-py

一次创建多个子图

主要用来生成柱状图、折线图、散点图、饼状图

# -*- coding: utf-8 -*-
"""
-------------------------------------------------
   @File:          4、这是一次创建多个图.py
   @Author :        hyh
   @Ide:            Pycharm
   @Contact:        [email protected]
   @Date:          19-7-15 上午11:11
   
-------------------------------------------------
   Description :

-------------------------------------------------
"""

import matplotlib.pyplot as plt
import numpy as np

"""
柱状图:
    plt.bar(names, values)
散点图:
    plt.scatter(names, values)
折线图:
    plt.plot(names, values)
饼状图:
    

"""


def plt_sub_one():
    names = ['group_a', 'group_b', 'group_c']
    values = [1, 10, 100]

    plt.figure(figsize=(9, 3))

    plt.subplot(131)
    plt.bar(names, values)  # 柱状图
    plt.subplot(132)
    plt.scatter(names, values)  # 散点图
    plt.subplot(133)
    plt.plot(names, values)  # 折线图
    plt.suptitle('Categorical Plotting')
    plt.show()


"""
这是一个饼状图:
    官方样例:https://matplotlib.org/gallery/pie_and_polar_charts/pie_features.html
"""


def ply_pie():
    # Pie chart, where the slices will be ordered and plotted counter-clockwise:
    labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
    sizes = [15, 30, 45, 10]
    explode = (0, 0.1, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')

    fig1, ax1 = plt.subplots()
    ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
            shadow=True, startangle=90)
    ax1.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.

    plt.show()


def f(t):
    return np.exp(-t) * np.cos(2 * np.pi * t)


"""
这是一个plt里面好多图

"""


def plt_sub_two():
    t1 = np.arange(0.0, 5.0, 0.1)
    t2 = np.arange(0.0, 5.0, 0.02)

    plt.figure()
    plt.subplot(211)
    plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')

    plt.subplot(212)
    plt.plot(t2, np.cos(2 * np.pi * t2), 'r--')
    plt.show()


"""
这个不知道为什么会报错,官网的例子
"""


def plt_sub_three():
    plt.figure(1)  # the first figure
    plt.subplot(211)  # the first subplot in the first figure
    plt.plot([1, 2, 3])
    plt.subplot(212)  # the second subplot in the first figure
    plt.plot([4, 5, 6])

    plt.figure(2)  # a second figure
    plt.plot([4, 5, 6])  # creates a subplot(111) by default

    plt.figure(1)  # figure 1 current; subplot(212) still current
    plt.subplot(211)  # make subplot(211) in figure1 current
    plt.title('Easy as 1, 2, 3')  # subplot 211 title


if __name__ == '__main__':
    plt_sub_one()
    ply_pie()

    plt_sub_two()
    # plt_sub_three()


你可能感兴趣的:(Python,Matplotlib)