精华内容
下载资源
问答
  • Matplotlib是一个Python工具箱,用于科学计算的数据可视化。借助它,Python可以绘制如Matlab和Octave多种多样的数据...下面这篇文章主要介绍了python使用matplotlib如何绘制折线图的方法教程,需要的朋友可以参考借鉴。
  • matplotlib是Python中的一个第三方库。主要用于开发2D图表,以渐进式、交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力。 一、安装matplotlib pip install matplotlib -i ...
  • 主要介绍了python使用matplotlib绘制折线图的示例代码,帮助大家更好的利用matplotlib绘制图形,感兴趣的朋友可以了解下
  • matplotlib绘制双折线图并设置图例

    千次阅读 2020-07-05 20:49:12
    通过代码实现下所示的状态 from matplotlib import pyplot as plt from matplotlib import font_manager #设置字体显示 my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\方正粗黑宋简体.ttf") x=...

    通过代码实现下图所示的状态
    在这里插入图片描述

    from matplotlib import pyplot as plt
    from matplotlib import font_manager
    #设置字体显示
    my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\方正粗黑宋简体.ttf")
    
    x=range(11,31)
    y1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1] #y轴的数据
    y2=[1,0,3,1,2,2,3,2,1,2,1,1,1,1,1,1,1,1,1,1]#y轴的数据
    plt.figure(figsize=(14,6),dpi=80) #设置图片大小和像素
    plt.plot(x,y1,label='自己',color='green') #设置折线颜色和标签
    plt.plot(x,y2,label='同桌',color='blue')
    plt.xticks(x[::1])
    plt.xlabel('年龄 单位(岁)',fontproperties=my_font)
    plt.ylabel('个数 单位(个)',fontproperties=my_font)
    
    #绘制网格
    plt.grid(alpha=0.4,linestyle='-.')  #alpha设置网格透明度
    #添加图例
    plt.legend(prop=my_font,loc='upper left') #设置图例字体及其位置,可以不写loc参数,默认为右上
    plt.show()
    

    下图是设置图例位置的参数
    在这里插入图片描述

    展开全文
  • Python matplotlib绘制折线图

    千次阅读 2020-11-01 22:10:31
    Python matplotlib绘制折线图

    Python matplotlib绘制折线图

    matplotlib是Python中的一个第三方库。主要用于开发2D图表,以渐进式、交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力。

    一、安装matplotlib

    pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

    二、matplotlib图像简介

    matplotlib的图像分为三层,容器层、辅助显示层和图像层。

    1. 容器层主要由Canvas、Figure、Axes组成。

    Canvas位于图像的最底层,充当画布的作用。

    Figure位于Canvas之上,指画布上的一整张图像。

    Axes位于Figure之上,指Figure中的单个图表,一个Figure中可以有一个或多个Axes,即一张图像中可以有一个或多个图表。

    2. 辅助显示层是单个图表(Axes)中用来提供辅助信息的层。

    辅助显示层主要包括Axes外观(facecolor)、边框线(spines)、坐标轴(axis)、坐标轴名称(axis label)、坐标轴刻度(tick)、坐标轴刻度标签(tick label)、网格线(grid)、图例(legend)、标题(title)等内容。

    辅助层可使图像显示更加直观,提高可读性。

    3. 图像层指Axes内通过plot、scatter、bar、histogram、pie等函数绘制出的图形。

    三、matplotlib绘制折线图

    # coding=utf-8
    import matplotlib.pyplot as plt
    
    
    plt.figure(figsize=(20, 10), dpi=100)
    game = ['1-G1', '1-G2', '1-G3', '1-G4', '1-G5', '2-G1', '2-G2', '2-G3', '2-G4', '2-G5', '3-G1', '3-G2', '3-G3',
            '3-G4', '3-G5', '总决赛-G1', '总决赛-G2', '总决赛-G3', '总决赛-G4', '总决赛-G5', '总决赛-G6']
    scores = [23, 10, 38, 30, 36, 20, 28, 36, 16, 29, 15, 26, 30, 26, 38, 34, 33, 25, 28, 40, 28]
    plt.plot(game, scores)
    plt.show()

    运行结果:

    figure(): 创建图像并设置图像的大小等属性,返回一张图像,可以传入很多参数,常用参数有两个。figsize参数传入一个元组(width, height),设置图像的大小。dpi传入一个整数值,设置图像的清晰度。

    plot(): matplotlib中绘制折线图的函数。可以传入很多参数,一般传入两个列表,分别是折线图中的x值和y值。上面的例子中用了NBA2020年季后赛James的得分数据。

    show(): 展示图像。

    在上面的图表中,x坐标值中有中文,首次使用matplotlib绘图时中文无法正常显示。要解决中文显示问题,需要下载安装SimHei字体,下载链接:https://www.zitijia.com/i/281258939050380345.html,或直接搜索SimHei然后找一个正确的网站下载。下载完成后,在Windows下直接解压双击安装。安装完成后删除~/.matplotlib中的缓存文件,并创建配置文件matplotlibrc,将matplotlibrc中的内容设置为如下内容。

    font.family         : sans-serif
    font.sans-serif     : SimHei
    axes.unicode_minus  : False

    操作命令如下截图,完成后图像中就可以正常显示中文了。

    使用上面的代码,已经实现了简单的折线图,但展示的效果很差,所以需要进行优化,使图像展示得更好。

    四、matplotlib优化折线图

    import matplotlib.pyplot as plt
    
    
    plt.figure(figsize=(20, 10), dpi=100)
    game = ['1-G1', '1-G2', '1-G3', '1-G4', '1-G5', '2-G1', '2-G2', '2-G3', '2-G4', '2-G5', '3-G1', '3-G2', '3-G3',
            '3-G4', '3-G5', '总决赛-G1', '总决赛-G2', '总决赛-G3', '总决赛-G4', '总决赛-G5', '总决赛-G6']
    scores = [23, 10, 38, 30, 36, 20, 28, 36, 16, 29, 15, 26, 30, 26, 38, 34, 33, 25, 28, 40, 28]
    plt.plot(game, scores, c='red')
    plt.scatter(game, scores, c='red')
    y_ticks = range(50)
    plt.yticks(y_ticks[::5])
    plt.grid(True, linestyle='--', alpha=0.5)
    plt.xlabel("赛程", fontdict={'size': 16})
    plt.ylabel("得分", fontdict={'size': 16})
    plt.title("NBA2020季后赛詹姆斯得分", fontdict={'size': 20})
    plt.show()

    运行结果:

    在使用plot()函数绘图时,可以通过c='颜色'来设置折线图的颜色。

    scatter(): 绘制散点图。折线图是用直线连接相邻的两个点形成的,但是连成折线后点的显示不明显。scatter可以单独对点进行设置,展示得更明显。

    yticks(): 用于设置y轴坐标的范围,传入一个可迭代对象(如range()函数)。最开始绘制的折线图中,图像的y轴坐标范围是数据的范围,坐标原点不是0,使用yticks函数可以设置想要的坐标范围。同理xticks可以用于设置x轴坐标的范围。

    grid(): 用于设置图表中的网格线,使用linestyle参数设置网格线的样式,常用的样式有下表中的几种,plot()函数中也可以用linestyle参数设置折线图的样式。使用alpha参数设置网格线的透明度。

    样式字符
    实线
    虚线- - 
    点划线-.
    点虚线

    xlabel(): 用于设置x轴的标签,说明x轴坐标的含义,第一个参数传入需要设置的标签值,后面可以通过其他参数设置显示的效果,如字体大小等。ylabel同理。

    title(): 用于设置折线图的标题,说明这张折线图展示的数据。用法同xlabel。

    五、matplotlib绘制多条折线图

    import matplotlib.pyplot as plt
    
    
    plt.figure(figsize=(20, 10), dpi=100)
    game = ['1-G1', '1-G2', '1-G3', '1-G4', '1-G5', '2-G1', '2-G2', '2-G3', '2-G4', '2-G5', '3-G1', '3-G2', '3-G3',
            '3-G4', '3-G5', '总决赛-G1', '总决赛-G2', '总决赛-G3', '总决赛-G4', '总决赛-G5', '总决赛-G6']
    scores = [23, 10, 38, 30, 36, 20, 28, 36, 16, 29, 15, 26, 30, 26, 38, 34, 33, 25, 28, 40, 28]
    rebounds = [17, 6, 12, 6, 10, 8, 11, 7, 15, 11, 6, 11, 10, 9, 16, 13, 9, 10, 12, 13, 14]
    assists = [16, 7, 8, 10, 10, 7, 9, 5, 9, 7, 12, 4, 11, 8, 10, 9, 9, 8, 8, 7, 10]
    plt.plot(game, scores, c='red', label="得分")
    plt.plot(game, rebounds, c='green', linestyle='--', label="篮板")
    plt.plot(game, assists, c='blue', linestyle='-.', label="助攻")
    plt.scatter(game, scores, c='red')
    plt.scatter(game, rebounds, c='green')
    plt.scatter(game, assists, c='blue')
    plt.legend(loc='best')
    plt.yticks(range(0, 50, 5))
    plt.grid(True, linestyle='--', alpha=0.5)
    plt.xlabel("赛程", fontdict={'size': 16})
    plt.ylabel("数据", fontdict={'size': 16})
    plt.title("NBA2020季后赛詹姆斯数据", fontdict={'size': 20})
    plt.show()

    运行结果:

    要在同一张图像中展示多条折线图,多次调用plot()函数就行。每条折线图的颜色、样式等可以分别设置,以便更好地进行区分。

    legend(): 展示图例,通过loc参数传入图例在图表中展示的位置,可以传入的值有‘best’, 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center',这十一个值分别对应数字0~10,传值时也可以传对应的数字,后面十个值都指定了图例的位置,'best'表示自适应,会自动根据图像的分布在后面的十个值中选择一个,大部分为右上角'upper right'。

    为了使用图例,在每次调用plot()函数绘制折线图时,需要使用label参数给折线图添加标签,在图例中展示。有多条折线图时,图例可以用于区分每条折线图表示的含义,如将James的得分和篮板、助攻展示在同一张图中。

    六、matplotlib绘制多张折线图

    import matplotlib.pyplot as plt
    
    
    fig, axs = plt.subplots(nrows=1, ncols=3, figsize=(20, 6), dpi=100)
    game = ['1-G1', '1-G2', '1-G3', '1-G4', '1-G5', '2-G1', '2-G2', '2-G3', '2-G4', '2-G5', '3-G1', '3-G2', '3-G3',
            '3-G4', '3-G5', '总决赛-G1', '总决赛-G2', '总决赛-G3', '总决赛-G4', '总决赛-G5', '总决赛-G6']
    scores = [23, 10, 38, 30, 36, 20, 28, 36, 16, 29, 15, 26, 30, 26, 38, 34, 33, 25, 28, 40, 28]
    rebounds = [17, 6, 12, 6, 10, 8, 11, 7, 15, 11, 6, 11, 10, 9, 16, 13, 9, 10, 12, 13, 14]
    assists = [16, 7, 8, 10, 10, 7, 9, 5, 9, 7, 12, 4, 11, 8, 10, 9, 9, 8, 8, 7, 10]
    y_data = [scores, rebounds, assists]
    colors = ['red', 'green', 'blue']
    line_style = ['-', '--', '-.']
    y_labels = ["得分", "篮板", "助攻"]
    for i in range(3):
        axs[i].plot(game, y_data[i], c=colors[i], label=y_labels[i], linestyle=line_style[i])
        axs[i].scatter(game, y_data[i], c=colors[i])
        axs[i].legend(loc='best')
        axs[i].set_yticks(range(0, 50, 5))
        axs[i].grid(True, linestyle='--', alpha=0.5)
        axs[i].set_xlabel("赛程", fontdict={'size': 16})
        axs[i].set_ylabel(y_labels[i], fontdict={'size': 16}, rotation=0)
        axs[i].set_title("NBA2020季后赛詹姆斯{}".format(y_labels[i]), fontdict={'size': 20})
    fig.autofmt_xdate()
    plt.show()

    运行结果:

    subplots(): 用于在同一张图像中绘制多张图表,通过nrows, ncols两个参数设置图表的张数和排列方式,figsize和dpi同figure()函数。subplots()函数返回两个参数,一个是图像对象fig,一个是可迭代的图表数组axs(类型为numpy中的数组对象)。

    每一张图表中的标签、标题、样式、图例等都需要单独设置,为了避免代码过于冗余,可以使用循环。绘制每一张图表时,从axs中取出每一张图表,再调用plot()函数绘图。在设置坐标轴、标签、标题时,使用'set_'开头的方法进行设置,如设置x轴标签用set_xlabel()。

    autofmt_xdate(): x轴坐标值自适应倾斜。因为一张图像中有多张图表,x坐标值靠得很近,可能会因重叠造成展示效果差,使用fig对象的autofmt_xdate()方法可以设置自适应倾斜。

    以上就是matplotlib实现折线图的简单介绍,更多设置可以参考官网https://matplotlib.org/tutorials/index.html,并多作尝试。

     

     

    展开全文
  • matplotlib是受MATLAB的启发构建的。...每天温度数据如下,[15, 12.2, 14, 14, 34, 43, 23, 34, 11.5, 22, 23, 12],利用pyplot绘制折线图。 代码如下: from matplotlib import pyplot as plt x = range(2,
  • 我整理了使用matplotlib绘制折线图的一般步骤,按照这个步骤走绘制折线图一般都没啥问题。其实用matplotlib库绘制折线图的过程,其实就是类似于数学上描点,连线绘制图形的过程。所有,这个过程就可以简单的规划为...

    前言:

            我的python学习也告一段落了。不过有些,方法还是打算总结一下和大家分享。我整理了使用matplotlib绘制折线图的一般步骤,按照这个步骤走绘制折线图一般都没啥问题。其实用matplotlib库绘制折线图的过程,其实就是类似于数学上描点,连线绘制图形的过程。所有,这个过程就可以简单的规划为获取图像点信息,描点连线,设置图线格式这三个部分。

    matplotlib库的安装以及程序引用的说明:

            我使用的编程软件为pycharm,我就说一下pycharm安装matplotlib库的方法吧。在主页面文件选项下,找到设置。进一步找到项目解释器。之后在所选框中,点击软件包上的+号就可以进行查询插件安装了。有过编译器插件安装的hxd估计会比较好入手。具体情况就如下图所示。

     

     至于程序书写过程中,我们需要引用matplotlib库,用于绘制折线图,一般这样引用:

    import matplotlib.pyplot as plt

    折线图绘制的一般过程:

    第一步:获取自己所需要的点的坐标:

    一般我们是绘制平面图,也就是说,我们需要获取点的x坐标和y坐标。我们用于绘制折线图时,坐标信息一般都保存于两个列表中。两个列表对应index下标对应的值,就为一个点的x,y值。至于点的坐标信息,就可以根据需要自己设置了。

    x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]#直接建立列表,设置
    data = [[1, 2, 3, 4, 5, 6],
            [2, 4, 6, 8, 10, 12],
            [1, 3, 5, 7, 9, 11],
            [1.1, 2.2, 3.3, 4.4, 5.5, 6.6],
            [3, 6, 9, 12, 15, 18],
            [4, 8, 12, 16, 20, 24],
            [5, 10, 15, 20, 25, 30],
            [1.5, 2.5, 3.5, 4.5, 5.5, 6.5],
            [1, 4, 7, 10, 13, 16],
            [2, 5, 8, 11, 14, 17]]
    y = [np.mean(i) for i in data]#循环求平均值

    这是我一个程序中,设置x,y坐标的方法。

    第二步:连线绘图:

    是的,这个过程并不复杂。把点的信息设置好就可以直接绘制图形了。绘制图形也很简单,调用plot函数就行。这是绘制折线图的函数。用matpotlib绘制其它图差不多也是这个过程,不过绘图函数不一样罢了。

    # 绘制图形
    plt.plot(x, y, linewidth=1, color="orange", marker="o",label="Mean value")

    其中参数的解释:

    color:代表的是折线的颜色设置

    label:代表的是设置折线的标签,其实就相当于给它取了个名字

    linewidth:代表给折线设置宽度,通俗的说就是粗细

    marker:"o"这样的写法,可以使得折线中每个点被标记出来。不设置,就看不到每个点。

    第三步:折线图坐标轴的设置:

    调用label函数就可以给横纵坐标轴起名字了。

    plt.xlabel("发布日期")#给x轴起名字
    plt.ylabel("小说数量")#给y轴起名字

    调用xticks函数和ytickes函数就可以设置折线图的坐标轴了。中间的列表就是设置各个坐标轴上有几个点,且每个点的值是多少。中间数据的多少和取值多少随意,看自己的需要。

    # 设置横纵坐标
    plt.xticks([0, 2, 4, 6, 8, 10, 12])
    plt.yticks([0, 5, 10, 15, 20, 25])

    第四步:其它的一些设置:

    图像标题的设置:

    使用plt.title("")函数就可以设置图像标题了。

    背景网格的设置:

    如果想让自己的图像背景不是白板,有网格线的话,就可以加上grid语句。

    plt.grid()  # 设置网格模式

    折线说明框的设置:

    如果想在图像中加入折线说明框,就可以使用legend函数,它会自动提取折线的名字然后表示出来。比如,我的折线取名为Mean Value。就会出现下面这个框。下面的那个,是另一条线的名字。

     图像上每个点文本的设置

    还可以给每个点设置文本。就是折线上,每个点旁边显示一个数字或者几个字啥的。这个用text函数就可以做到。

    #设置每个点上的数值
    for i in range(10):
            plt.text(x[i], y[i], y[i], fontsize=12, color="black", style="italic", weight="light", verticalalignment='center',horizontalalignment='right', rotation=90)

    text函数,前两个值表示点的坐标,第三个值就是要设置的文本信息。至于后面的都是属性值的设置,fontsize是字体大小的设置,color是字体颜色的设置,style是字体格式的设置,也就是字体类型。weight是字体颜色深度的设置。后面两个属性值,是显示位置的设置。

    第五步:将图像信息显示出来:

    如果想保存图像的话,可以直接调用savefig函数。

    plt.savefig("./xrd.png")

    当然绘制好的图像是看不到的,要调用函数show才能看到。

    plt.show()

    代码实例以及绘制出的图像:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    data = [[1, 2, 3, 4, 5, 6],
            [2, 4, 6, 8, 10, 12],
            [1, 3, 5, 7, 9, 11],
            [1.1, 2.2, 3.3, 4.4, 5.5, 6.6],
            [3, 6, 9, 12, 15, 18],
            [4, 8, 12, 16, 20, 24],
            [5, 10, 15, 20, 25, 30],
            [1.5, 2.5, 3.5, 4.5, 5.5, 6.5],
            [1, 4, 7, 10, 13, 16],
            [2, 5, 8, 11, 14, 17]]
    y = [np.mean(i) for i in data]
    
    
    # 绘制图形
    plt.plot(x, y, linewidth=1, color="orange", marker="o",label="Mean value")
    # 算标准差
    yTop = [y[i] + np.std(data[i]) for i in range(len(data))]
    yBottom = [y[i] - np.std(data[i]) for i in range(len(data))]
    plt.fill_between(x, yTop, yBottom ,color="lightgreen",label="Standard deviation")#填充色块
    # 设置横纵坐标
    plt.xticks([0, 2, 4, 6, 8, 10, 12])
    plt.yticks([0, 5, 10, 15, 20, 25])
    plt.legend(["Mean value","Standard deviation"],loc="upper left")#设置线条标识
    plt.grid()  # 设置网格模式
    #设置每个点上的数值
    for i in range(10):
            plt.text(x[i], y[i], y[i], fontsize=12, color="black", style="italic", weight="light", verticalalignment='center',horizontalalignment='right', rotation=90)
    plt.show()
    

     

    展开全文
  • matplotlib绘制折线图

    2020-12-23 02:19:46
    matplotlib绘制折线图 这阳春三月的邵大白在家过的什么日子,幽栖地僻经过少,花径不曾缘客扫~ 开个逗b号纪念下这段闭关的时光=^=万一他以后就变成一个数据分析的大v号了来~ 好了邵大白课堂开课了 折线图绘制 咱先画...
  • 使用matplotlib绘制折线图,柱状图,柱线混合图

    万次阅读 多人点赞 2019-08-31 21:54:49
    matplotlib介绍 Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 ...matplotlib绘制折线图 绘制一条折线的折线图 # -*- c...

    matplotlib介绍

    • Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQtwxPython
    • 安装Matplotlib库命令:在cmd命令窗口输入pip install matplotlib

    matplotlib绘制折线图

    1. 绘制一条折线的折线图
    # -*- coding:utf-8 -*-
    import matplotlib
    import matplotlib.pyplot as plt
    # 处理乱码
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
    x = [1, 2, 3, 4]
    y = [10, 50, 20, 100]
    # "r" 表示红色,ms用来设置*的大小
    plt.plot(x, y, "r", marker='*', ms=10, label="a")
    # plt.plot([1, 2, 3, 4], [20, 30, 80, 40], label="b")
    plt.xticks(rotation=45)
    plt.xlabel("发布日期")
    plt.ylabel("小说数量")
    plt.title("80小说网活跃度")
    # upper left 将图例a显示到左上角
    plt.legend(loc="upper left")
    # 在折线图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
    for x1, y1 in zip(x, y):
        plt.text(x1, y1 + 1, str(y1), ha='center', va='bottom', fontsize=20, rotation=0)
    plt.savefig("a.jpg")
    plt.show()
    

    图形效果展示:
    在这里插入图片描述

    • 注意:savefig()是图形存储成图片show()是将图形显示出来。
    1. 绘制多条折线
    # -*- coding:utf-8 -*-
    import matplotlib
    import matplotlib.pyplot as plt
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
    x = [1, 2, 3, 4]
    y1 = [45, 50, 20, 100]
    y2 = [26, 10, 76, 25]
    y3 = [11, 66, 55, 88]
    y4 = [69, 50, 35, 100]
    plt.plot(x, y1, marker='*', ms=10, label="a")
    plt.plot(x, y2, marker='*', ms=10, label="b")
    plt.plot(x, y3, marker='*', ms=10, label="c")
    plt.plot(x, y4, marker='*', ms=10, label="d")
    plt.xticks(rotation=45)
    plt.xlabel("发布日期")
    plt.ylabel("小说数量")
    plt.title("80小说网活跃度")
    plt.legend(loc="upper left")
    # 在折线图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
    for y in [y1, y2, y3, y4]:
        for x1, yy in zip(x, y):
            plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
    plt.savefig("a.jpg")
    plt.show()
    

    图形效果展示:
    在这里插入图片描述

    matplotlib绘制柱状图

    1. 绘制普通柱状图
    # -*- coding:utf-8 -*-
    import matplotlib
    import matplotlib.pyplot as plt
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
    # 构建数据
    x = [1, 2, 3, 4]
    y = [450, 500, 200, 1000]
    # 绘图
    plt.bar(x=x, height=y, label='书库大全', color='steelblue', alpha=0.8)
    # 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
    for x1, yy in zip(x, y):
        plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
    # 设置标题
    plt.title("80小说网活跃度")
    # 为两条坐标轴设置名称
    plt.xlabel("发布日期")
    plt.ylabel("小说数量")
    # 显示图例
    plt.legend()
    plt.savefig("a.jpg")
    plt.show()
    

    图形效果展示:
    在这里插入图片描述

    1. 绘制多组柱状图
    # -*- coding:utf-8 -*-
    import matplotlib
    import matplotlib.pyplot as plt
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
    # 构建数据
    x = ['2015', '2016', '2017', '2018', '2019']
    y1 = [4500, 5000, 2000, 7000, 10000]
    y2 = [5200, 7000, 5000, 9000, 11000]
    # 绘图
    plt.bar(x=x, height=y1, label='python', color='steelblue', alpha=0.8)
    plt.bar(x=x, height=y2, label='java', color='indianred', alpha=0.8)
    # 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
    for x1, yy in zip(x, y1):
        plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
    for x1, yy in zip(x, y2):
        plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
    # 设置标题
    plt.title("python与java图书对比")
    # 为两条坐标轴设置名称
    plt.xlabel("年份")
    plt.ylabel("销量")
    # 显示图例
    plt.legend()
    plt.savefig("a.jpg")
    plt.show()
    

    图形效果展示:
    在这里插入图片描述

    1. 绘制柱状图的条柱并列显示
    # -*- coding:utf-8 -*-
    import numpy as np
    import matplotlib
    import matplotlib.pyplot as plt
    
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
    # 构建数据
    x = ['2015', '2016', '2017', '2018', '2019']
    y1 = [4500, 5000, 2000, 7000, 10000]
    y2 = [5200, 7000, 5000, 9000, 11000]
    bar_width = 0.3
    # 将X轴数据改为使用range(len(x_data), 就是0、1、2...
    plt.bar(x=range(len(x)), height=y1, label='python', color='steelblue', alpha=0.8, width=bar_width)
    # 将X轴数据改为使用np.arange(len(x_data))+bar_width,
    # 就是bar_width、1+bar_width、2+bar_width...这样就和第一个柱状图并列了
    plt.bar(x=np.arange(len(x)) + bar_width, height=y2, label='java', color='indianred', alpha=0.8, width=bar_width)
    # 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
    for x1, yy in enumerate(y1):
        plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
    for x1, yy in enumerate(y2):
        plt.text(x1 + bar_width, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
    # 设置标题
    plt.title("python与java对比")
    # 为两条坐标轴设置名称
    plt.xlabel("年份")
    plt.ylabel("销量")
    # 显示图例
    plt.legend()
    plt.savefig("a.jpg")
    plt.show()
    

    图形效果展示:
    在这里插入图片描述

    matplotlib绘制柱线混合图

    1. 绘制柱线混合图
    # -*- coding:utf-8 -*-
    import matplotlib
    import matplotlib.pyplot as plt
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
    # 构建数据
    x = [2, 4, 6, 8]
    y = [450, 500, 200, 1000]
    # 绘图
    plt.bar(x=x, height=y, label='书库大全', color='steelblue', alpha=0.8)
    # 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
    for x1, yy in zip(x, y):
        plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
    # 设置标题
    plt.title("80小说网活跃度")
    # 为两条坐标轴设置名称
    plt.xlabel("发布日期")
    plt.ylabel("小说数量")
    # 显示图例
    plt.legend()
    # 画折线图
    plt.plot(x, y, "r", marker='*', ms=10, label="a")
    plt.xticks(rotation=45)
    plt.legend(loc="upper left")
    plt.savefig("a.jpg")
    plt.show()
    

    图形效果展示:
    在这里插入图片描述

    展开全文
  • matplotlib折线图

    千次阅读 2018-12-16 21:16:46
    matplotlib折线图 假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别是[15,13,14.5,17,20,25,26,26,27,22,18,15] 代码如下: # 导入pyplot from matplotlib import pyplot as plt # 数据在X轴的位置,是一...
  • 如何用matplotliby轴折线图

    千次阅读 2020-03-07 16:08:21
    def dual_y_plot(title, X1, Y1, X2, Y2): ''' :param title: tile , string :param X1: axis x1, list :param Y1: axis y1, list :param X2: axis x2, list :param Y2: axis y2, lis...
  • 1.1 折线图的绘制与显示 1.1.1 显示一周的天气 # 创建画布, figsize设置画布大小, dpi设置清晰度 plt.figure(figsize=(7, 7), dpi=80) # 绘制图像 plt.plot([1,2,3,4,5,6,7],[17,17,18,15,11,11,13]) # 保存图像...
  • 1.折线图 折线图通常用来表示数据随时间或有序类别变化的趋势。 '''1.简单示例''' import matplotlib.pyplot as plt data = [1,2,3,4,5,4,2,6,9,2] # 数据 plt.plot(data) plt.show() '''2.绘制多条曲线、曲线...
  • 关闭网格线后,出正常,没有网格线。 ax1.grid(False)#网格线设置 ax2=ax1.twinx()#Y1,Y2共用一个X轴 ax2.grid(False) 打开Y轴的网格线后,明明没有打开X轴的网格线,X轴也出现了空白的网格线 各位这是怎么回事,...
  • matplotlib绘制折线图,带折线图的值

    千次阅读 2020-05-08 18:25:16
    绘制样式如所示 绘制代码如下 AlexNet_acc = [75.43, 75.38, 75.55, 75.37, 75.26, 75.11, 74.30] ResNet_acc = [82.48, 82.58, 82.76, 82.65, 82.67, 82.55, 82.40] names = [0.01, 0.03, 0.05, 0.07, 0.1, 0.5...
  • 关于Matplotlib绘制折线图 纵坐标调节的问题 1. 问题描述: 前几天在绘制一个实验数据曲线可视化的过程中,使用matplotlib进行曲线的绘制,然而 无论用什么办法进行坐标轴的刻度调节,结果都不动:、 如图,只有纵...
  • 先上代码 import os ...import matplotlib.pyplot as plt with open('test1122/costTimemy.txt', 'r') as f: contents = f.readlines() print(len(contents)) moduletimes = [] totaltimes = [] ...
  • 1、折线图的概念 (1)标记:折线 (2)必备的视觉通道:拐点的x,y坐标 (3)常见的视觉通道:色彩、宽度、形态(虚实,箭头等) (4)适用场景:显示随时间或有序类别而变化的趋势、也可以显示数据点表示某个数据值...
  • matplotlib——折线图

    千次阅读 2018-03-21 12:51:29
    matplotlib折线图 折线图的概念: 该方法通常将数据绘制在折线图中,可以显示随时间变化,数据变化的趋势。 因此非常适用于显示在相等时间间隔下数据的走向变化。 折线图的做法: 示例:通过引入某商场一...
  • 第十节 Matplotlib颜色、标记、线型 import matplotlib.pyplot as plt import numpy as np fig, subplot_arr = plt.subplots(2, 2, figsize=(8, 8)) data = np.random.randn(20) subplot_arr[0, 0].plot(data, '--...
  • 利用matplotlib制作折线图 导入库/包: import numpy as np from matplotlib import pyplot as plt 代码块: x = range(1,8) #x轴的位置 y = [17,17,18,15,11,11,13] #传入x和y,通过plot画折线图 # plt.plot(x,y) ...
  • 主要介绍了Python如何使用内置库matplotlib绘制折线图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要为大家详细介绍了python使用matplotlib模块绘制多条折线图、散点图的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python数据分析之折线图 导入matplotlib模块 from matplotlib import pyplot as plt 创建一个时间/天气的折线图 x=range(2,26,2) #时间 y=[13,15,23,16,14,34,14,14,16,36,25,26]#气温 plt.plot(x,y)#指定xy轴 ...
  • 数据分析基础之matplotlib绘制折线图

    千次阅读 2019-08-09 18:27:37
    什么是数据分析       数据分析是用适当的方法对手机来的...数据分析的可视化工具–matplotlib matplotlib的好处? 能将数据进行可视化,更直观的呈现 使数据更加客观、更具说服力 ...
  • Matplotlib绘制折线图

    2021-06-10 19:13:33
    Matplotlib绘制折线图 利用Jupter Notebook 绘制折线图,主要介绍如何使用matplotlib库中的各种方法绘制折线图,以及对图形的修饰。 案例一:随机生成两地温度折线图 # 导入库 import matplotlib.pyplot as plt ...
  • Matplotlib折线图与子图的绘制

    千次阅读 2019-06-04 19:54:21
    一、Matplotlib简介 Matplotlib是一个Python 2D绘图库,可以生成各种硬拷贝格式和跨平台的交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和...只需几行代码即可生成绘图,直方,功率谱,条形...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,567
精华内容 7,026
关键字:

matplotlib双折线图