zoukankan      html  css  js  c++  java
  • Python数据可视化库-Matplotlib——折线图,子图绘制

    # coding:utf-8

    import pandas as pd

    import numpy as np

    from matplotlib import pylab as plt # 导入数据可视化库Matplotlib并重命名为plt

     

    plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签

    plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号

     

    newData = pd.read_csv("newCreateData.csv")

    newData["DATE"] = pd.to_datetime(newData["DATE"]) # 转换日期格式

    newTest = newData[0:11]

     

    plt.plot(newTest["DATE"], newTest["VALUE"]) # plot()方法分别对应折线图中的x,y坐标

    plt.xticks(rotation = 45) # 横坐标的数据旋转45°

    plt.xlabel("DATE") # X轴取名为DATE

    plt.ylabel("VALUE") # Y轴取名为VALUE

    plt.title(u"润博的数据分析学习笔记") # 标题取名

    plt.show() # 可视化显示

     

     

    print("*********子图绘制****************")

    # 创建一个画图对象,相当于一个画图区域

    fig = plt.figure(figsize=(6,6)) # figsize指定给个图大小(两个数字分别表示横轴纵轴)

    # 前面两个数字代表行数,列数,最后一个数字代表第几个图,从左到右,从上到下看

    ax1 = fig.add_subplot(2, 2, 1) # 2行2列的图,相当于四个图,1是第一个

    ax2 = fig.add_subplot(2, 2, 3) # 2行2列的图,相当于四个图,3是第三个

    ax4 = fig.add_subplot(2, 2, 4) # 2行2列的图,相当于四个图,4是第四个

    ax1.plot(np.arange(5), np.arange(5)) # 子图1绘制

    ax2.plot(np.arange(10), np.random.random(size=10)) # 子图4随机绘制

    plt.title(u"润博的数据分析学习笔记") # 标题取名

    plt.show()

     

     

    fig1 = plt.figure(figsize=(6,3))

    # 下面为在一个区域画2个图

    plt.plot(np.random.random(size=12), newData[0:12]["VALUE"], c = "red") # c指定颜色

    plt.plot(np.random.random(size=12), newData[12:24]["VALUE"], c = "blue")

    plt.title(u"润博的数据分析学习笔记") # 标题取名

    plt.show()

     

     

    print("********循环画5个图*************")

    fig2 = plt.figure(figsize=(10,6))

    colors = ["red", "yellow", "blue", "black", "pink"]

    for i in range(5):

    fIndex = i * 12

    eIndex = (i + 1) * 12

    subset = newData[fIndex:eIndex]

    plt.plot(np.arange(1,13), subset["VALUE"], c = colors[i])

    plt.title(u"润博的数据分析学习笔记") # 标题取名

    plt.show()

     

     

    print("**********图标绘制*************")

    x = np.linspace(0, 10, 20) # 构造20个从0到10均匀增长的数

    fig, axes = plt.subplots() # 创建一个fig和axes对象

    axes.set_xlabel('x lable')

    axes.set_ylabel('y lable')

    axes.set_title('title')

    axes.plot(x, x**2) # x**2表示x的平方

    axes.plot(x, x**3) # x**3表示x的立方

    # loc 参数标记图例位置,1,2,3,4 依次代表:右上角、左上角、左下角,右下角;0 代表自适应(可用'best'替代)

    axes.legend(["y = x**2", "y = x**3"], loc='best')

    plt.title(u"润博的数据分析学习笔记") # 标题取名

    plt.show()

     

           https://www.cnblogs.com/hewanli/

  • 相关阅读:
    各种插件
    如何在C#中选择正确的集合 转
    转载 hashtable和dictionary的区别
    堆和栈的区别 转载
    数据结构王道错题集2019版(上>一>四章)
    mongoDB连接数据库
    linuix没有网络
    rand函数
    mongodb学习(入门。。。。。)
    先随便写
  • 原文地址:https://www.cnblogs.com/hewanli/p/12183432.html
Copyright © 2011-2022 走看看