精华内容
下载资源
问答
  • matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, **kwargs) 其中: x:垂直线在x轴上的位置。浮点数,默认值为0。 ymin:垂直线在y轴方向上的起始值。浮点数,默认值为0。取值范围为[0,1],0表示子图底部,1表示...

    概述

    axvline函数作用是绘制一条以子图高度比例为长度单位的垂直线。
    axhline函数作用与axvline函数类似,绘制一条以子图宽度比例为长度单位的水平线。

    axvline函数的签名为:
    matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, **kwargs)
    其中:

    • x:垂直线在x轴上的位置。浮点数,默认值为0
    • ymin:垂直线在y轴方向上的起始值。浮点数,默认值为0。取值范围为[0,1]0表示子图底部,1表示子图顶部。值可以超出[0,1],但是超出部分不会正常显示。
    • ymax:垂直线在y轴方向上的终止值。浮点数,默认值为1。取值范围为[0,1]0表示子图底部,1表示子图顶部。
    • **kwargs:除'transform'之外的Line2D属性。

    axvline函数的返回值为Line2D对象。

    axhline函数的签名与axvline函数类似:
    matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, **kwargs)

    案例:演示axvline函数

    在这里插入图片描述

    import matplotlib.pyplot as plt
    
    # 演示默认参数
    plt.subplot(221)
    plt.axvline()
    plt.xlim(-1, 1)
    plt.subplot(222)
    # 演示参数x
    plt.axvline(0.5)
    plt.subplot(223)
    # 演示参数x,ymin,ymax
    plt.axvline(0.5, 0.2, 0.7)
    plt.subplot(224)
    # 演示**kwargs参数
    plt.axvline(0.5, 0.2, 0.7, linewidth=2, color="r")
    plt.show()
    

    axvline/axhlinevlines/hlines的区别

    1. axvline/axhline绘制一条线,返回值为Line2D对象。vlines/hlines绘制一组线返回值为LineCollection对象,相当于Line2D对象的集合。
    2. axvline/axhline绘制的直线默认是跨越整个子图的,即便更改线的长度,单位是子图高度/宽度的比例([0,1]),是相对值。vlines/hlines绘制的直线需要指定长度,长度单位是对应坐标轴的单位,是绝对值。
    展开全文
  • matplotlib

    千次阅读 多人点赞 2019-04-20 19:19:46
    今天我们来介绍一下python的一个可视化工具matplotlib matplotlib 使用matplotlib的方式有很多,但最通常的是Pylab模式的ipython(-ipython –pylab) matplotlib的api都位于matplotlib.pyplot中,所以一般的引入方式...

    今天我们来介绍一下python的一个可视化工具matplotlib

    matplotlib

    使用matplotlib的方式有很多,但最通常的是Pylab模式的ipython(-ipython –pylab)

    matplotlib的api都位于matplotlib.pyplot中,所以一般的引入方式为:

    import matplotlib.pyplot as plt
    

    Figure、Subplot

    Figure

    matplitlib的图像必须在Figure中,Figure创建方式如下:

    fig = plt.figure() # 之后会弹出一个Figure窗口
    

    创建好Figure后,并不能直接绘图,需要使用add_subplot创建一个或多个子图,在子图中绘图,创建方式如下:

    ax1 = fig.add_subplot(2,2,1) # 将figure分为四块,在第一块创建一个子图;返回AxesSubplot对象
    

    之后我们就可以绘制我们的图像了

    plt.plot(randn(50).cumsum(), 'k--') 
    

    Figure和subplot的创建经常使用,所以matplotlib提供了简洁的创建方式:

    fig, axes = plt.subplots(2,3) # 创建一个新Figure、并返回一个含有已创建subplot对象的Numpy数组 
    ax = axes[0,1] # 引用第一行第二列的subplot对象
    

    该函数的一些参数选项:

    在这里插入图片描述

    调整图像之间的间距

    通常情况下,matplotlib会在subplot外围留下一些边距,并在subplot之间留下一些间距。

    我们可以利用subplots_adjust()函数来修改间距

    subplots_adjust(left=None,bootom=None,right=None,top=None,wspace=None,hspace=None) # 该函数是一个顶级函数;wspace、hspace用来控制宽度和高度的百分比,用作subplot之间的间距
    plt.subplots_adjust(wspace=0, hspace=0) # 设置subplots之间的间距为0
    
    颜色、线型和标记

    matplotlib的plot()函数接受一组X和Y坐标,和一个表示颜色和线形的字符串

    ax.plot(x,y,'g--') # 根据x,y绘制绿色虚线
    # ax为一subplot
    

    刻度、标签和图例

    设置X轴范围:
    plt.xlim() # 返回当前X轴的范围
    plt.xlim([0,10]) # 将X轴的范围设为[0, 10]
    # 以上方法都只对当前或最近创建的Subplot起作用
    
    设置标题、轴标签、刻度以及刻度标签
    • 设置标题

      ax.set_title("My first matplotlib plot") # 设置对应dubplot的标题
      
    • 设置轴标签

      ax.set_xlabel() # 为对应subplot的x轴设置标签
      ax.set_ylabel()
      
    • 设置刻度

      设置刻度有两个方法,set_xticks和set_xticklabels,前者告诉maatplotlib将刻度放在对应范围的哪个位置,默认情况下这些刻度就是刻度标签;后者可以将任何其他类型的值作为标签

      ax.set_xticks([0,1,2,3,4]) # 将0,1,2,3,4作为x轴刻度标签
      ax.set_xticklabels(['one','two','three','four','five']) # 将one,two,three,four,five作为x轴刻度标签
      ax.set_yticks()
      ax.set_xticklabels()
      
    添加图例

    图例是标识图表元素的重要工具。

    • 方式一,在添加subplot时传入label参数
    fig = plt.figure()
    ax = fig.add_subplot(1,1,1)
    ax.plot(randn(1000).cumsum(), 'k--', label='one')
    ax.plot(randn(1000).cumsum(), 'k', label='two')
    ax.plot(randn(1000).cumsum(), 'k.', label='three')
    ax.legend(loc='best') # loc指定图例放置的位置,'best'参数标识系统将图例放置到最不碍事的地方
    

    在这里插入图片描述

    将图标保存到文件

    利用plt.savefig可以将当前图表保存到文件

    plt.savefig('figpath.png', dpi=400) # 将当前图表存储为png文件
    # dpi参数指定每英寸点数(分辨率)
    

    Pandas中的绘图函数

    从上面的例子中我们可以看出,matplotlib实际上是一个比较低级的画图工具,当我们绘制一张图标时,往往要指定他的多个属性,如图例,标签,标题等。而pandas中的绘图函数大大简化了这个过程。

    Series与DataFrame数据都可以通过调用plot函数来绘制图表

    • Series:

      s = Series(np.random.randn(10).cumsum(), index=np.arange(0,100,10))
      s.plot()
      

    在这里插入图片描述
    在这里插入图片描述

    • DataFrame:

      df = DataFrame(np.random.randn(10,4).cumsum(), columns=['A','B','C','D'],index=np.arange(0,100,10))
      # columns参数指定图例名称,index指定x轴标签
      # np.random.randn(10,4)共10行4列,产生四条曲线,每条曲线十个数据点
      df.plot()
      

    在这里插入图片描述
    在这里插入图片描述

    除了matplotlib外,还有许多优秀的画图工具,如chaco、mayavi等

    目前对于matplotlib的介绍就是这些,更多的知识可以研究一下pandas官方文档(pandas正在不断地更新中,会提供越来越多的函数),链接如下:

    http://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html

    展开全文
  • from matplotlib import pyplot as plt x = range(1,10) #x轴的位置 y = [6,7,12,12,15,17,15,20,18] #y轴的位置 #传入x,y,通过plot画图,并设置折线颜色、透明度、折线样式和折线宽度 plt.plot(x,y,color='red',...

    代码示例:

    from matplotlib import pyplot as plt
    x = range(1,10) #x轴的位置
    y = [6,7,12,12,15,17,15,20,18] #y轴的位置
    #传入x,y,通过plot画图,并设置折线颜色、透明度、折线样式和折线宽度
    plt.plot(x,y,color='red',alpha=0.3,linestyle='--',linewidth=5)
    plt.show
    '''基础属性设置
    color='red'  :折线的颜色
    a1pha=0.5  :折线的透明度(0-1)
    linesty1e='--' :折线的样式
    1inewidth=3  :折线的宽度
    '''
    
    '''
    线的样式
    -  实线(solid)
    --  短线(dashed)
    -.  短点相间线(dashdot)
    :  虚点线(dotted)
    111
    '''

    效果截图:

    展开全文
  • import matplotlib.pyplot as plt import numpy as np import matplotlib # 设置matplotlib正常显示中文和负号 matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文 matplotlib.rcParams['axes....

    1.绘制直方图

    import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib
    
    # 设置matplotlib正常显示中文和负号
    matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
    matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号
    # 随机生成(10000,)服从正态分布的数据
    data = np.random.randn(10000)
    """
    绘制直方图
    data:必选参数,绘图数据
    bins:直方图的长条形数目,可选项,默认为10
    normed:是否将得到的直方图向量归一化,可选项,默认为0,代表不归一化,显示频数。normed=1,表示归一化,显示频率。
    facecolor:长条形的颜色
    edgecolor:长条形边框的颜色
    alpha:透明度
    """
    
    plt.hist(data, bins=40, normed=0, facecolor="green", edgecolor="green", alpha=0.7)
    # 显示横轴标签
    plt.xlabel("区间")
    # 显示纵轴标签
    plt.ylabel("频数/频率")
    # 显示图标题
    plt.title("频数/频率分布直方图")
    plt.show()

     

    2.绘制简单的柱状图

    # 导入绘图模块
    import matplotlib.pyplot as plt
      # 构建数据
    GDP = [12406.8,13908.57,9386.87,9143.64]
    # 中文乱码的处理
    plt.rcParams['font.sans-serif'] =['SimHei']
    #解决负号'-'显示为方块的问题  
    plt.rcParams['axes.unicode_minus'] = False
    
    # 绘图
    plt.bar(range(4), GDP, align = 'center',color='blue', alpha = 0.1)
    # 添加轴标签
    plt.ylabel('G D P')
    plt.xlabel("直辖市名称")
    # 添加标题
    plt.title('直辖市GDP对比')
    # 添加刻度标签
    plt.xticks(range(4),['北京市','上海市','天津市','重庆市'])
    # 设置Y轴的刻度范围
    plt.ylim([5000,15000])
    # 为每个条形图添加数值标签
    for x,y in enumerate(GDP):
        plt.text(x,y+100,'%s' %round(y,1),ha='center')     
    # 显示图形
    plt.show()

    3.绘制水平条形图

    # 导入绘图模块
    import matplotlib.pyplot as plt
      # 构建数据
    GDP = [12406.8,13908.57,9386.87,9143.64]
    # 中文乱码的处理
    plt.rcParams['font.sans-serif'] =['SimHei']
    #解决负号'-'显示为方块的问题  
    plt.rcParams['axes.unicode_minus'] = False
    
    # 绘图
    plt.barh(range(4), GDP, align = 'center',color='orange', alpha = 0.5)
    # 添加轴标签
    plt.xlabel('GDP')
    # 添加标题
    plt.title('直辖市GDP对比')
    # 添加刻度标签
    plt.yticks(range(4),['北京市','上海市','天津市','重庆市'])
    # 设置Y轴的刻度范围
    plt.xlim([5000,17000])
    # 为每个条形图添加数值标签
    for x,y in enumerate(GDP):
        plt.text(y+100,x,'%s' %y,va='center')     
    # 显示图形
    plt.show()

    4.绘制复杂柱状图

    import matplotlib.pyplot as plt
    import matplotlib
    # 中文乱码的处理
    plt.rcParams['font.sans-serif'] =['SimHei']
    #解决负号'-'显示为方块的问题  
    plt.rcParams['axes.unicode_minus'] = False
    
    label_list = ['2014', '2015', '2016', '2017']    # 横坐标刻度显示值
    num_list1 = [26, 37, 13, 38]      # 纵坐标值1
    num_list2 = [12, 30, 40, 20]      # 纵坐标值2
    x = range(len(num_list1))
    """
    绘制条形图
    left:长条形中点横坐标
    height:长条形高度
    width:长条形宽度,默认值0.8
    label:为后面设置legend准备
    """
    rects1 = plt.bar(left=x, height=num_list1, width=0.4, alpha=0.8, color='red', label="一部门")
    rects2 = plt.bar(left=[i + 0.4 for i in x], height=num_list2, width=0.4, color='green', label="二部门")
    plt.ylim(0, 50)     # y轴取值范围
    plt.ylabel("数量")
    """
    设置x轴刻度显示值
    参数一:中点坐标
    参数二:显示值
    """
    plt.xticks([index + 0.2 for index in x], label_list)
    plt.xlabel("年份")
    plt.title("银海公司")
    plt.legend()     # 设置题注
    # 编辑文本
    for rect in rects1:
        height = rect.get_height()
        plt.text(rect.get_x() + rect.get_width() / 2, height+0.3, str(height), ha="center", va="bottom")
    for rect in rects2:
        height = rect.get_height()
        plt.text(rect.get_x() + rect.get_width() / 2, height+0.3, str(height), ha="center", va="bottom")
    plt.show()

    5堆叠条形图

    import matplotlib.pyplot as plt
    import matplotlib
    
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    matplotlib.rcParams['axes.unicode_minus'] = False
    
    label_list = ['2014', '2015', '2016', '2017']
    num_list1 = [20, 30, 15, 35]
    num_list2 = [15, 30, 40, 20]
    x = range(len(num_list1))
    rects1 = plt.bar(left=x, height=num_list1, width=0.45, alpha=0.8, color='red', label="一部门")
    rects2 = plt.bar(left=x, height=num_list2, width=0.45, color='green', label="二部门", bottom=num_list1)
    plt.ylim(0, 80)
    plt.ylabel("数量")
    plt.xticks(x, label_list)
    plt.xlabel("年份")
    plt.title("银海公司")
    plt.legend()
    plt.show()

    6.饼状图

    import matplotlib.pyplot as plt
    import matplotlib
    
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    matplotlib.rcParams['axes.unicode_minus'] = False
    
    label_list = ["第一部分", "第二部分", "第三部分","第四部分"]    # 各部分标签
    size = [35, 25, 10,20]    # 各部分大小
    color = ["red", "green", "blue",'yellow']     # 各部分颜色
    explode = [0.05, 0, 0,0.02]   # 各部分突出值
    """
    绘制饼图
    explode:设置各部分突出
    label:设置各部分标签
    labeldistance:设置标签文本距圆心位置,1.1表示1.1倍半径
    autopct:设置圆里面文本
    shadow:设置是否有阴影
    startangle:起始角度,默认从0开始逆时针转
    pctdistance:设置圆内文本距圆心距离
    返回值
    l_text:圆内部文本,matplotlib.text.Text object
    p_text:圆外部文本
    """
    patches, l_text, p_text = plt.pie(size, explode=explode, colors=color, labels=label_list, labeldistance=1.1, autopct="%1.1f%%", shadow=False, startangle=90, pctdistance=0.6)
    plt.axis("equal")    # 设置横轴和纵轴大小相等,这样饼才是圆的
    plt.legend()
    plt.show()

    展开全文
  • 本文实例讲述了Python使用matplotlib 画矩形的三种方式。分享给大家供大家参考,具体如下: 假设矩形两点坐标如下,分别为:x1, y1, x2, y2 cat_dict['bbox'][i] = (min_row, min_col, max_row, max_col) 1. plt....
  • 本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法。分享给大家供大家参考,具体如下: 一 介绍 关键词:绘图库 官网:http://matplotlib.org 二 代码 import numpy as np import matplotlib.pyplot as ...
  • #x,y为横纵坐标数据,height设置条形图的宽度,color设置条形图颜色,label设置条形图图列 绘制三条条形图的代码示例如下: from matplotlib import pyplot as plt from matplotlib import font_manager #调用中文...
  • Matplotlib

    2018-07-24 21:46:52
    Matplotlib 是Python 2D绘图领域的基础套件,它让使用者将数据图形化,并提供多样化的输出格式。这里将会以四个小案例探索Matplotlib的常见用法   绘制折线图 折线图 import matplotlib.pyplot as plt ...
  • matplotlib.pyplot.hist参数详解

    万次阅读 2020-01-30 18:56:11
    参考官方文档:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.hist.html#matplotlib.pyplot.hist matplot.pyplot.hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, bottom=...
  • 目录    1、颜色、点标记与线型设置    2、透明度设置    3、图例设置 ...markeredgewidth(mew):点边缘宽度。 markerfacecolor(mfc):点的颜色。 ① 举例如下 plt.plot([1, 2, 3, 4], [5, 6, 7, 8], c=
  • 那么就来学习一下matplotlib的颜色。在matplotlib里主要使用一些简单的字母来表示颜色,比如: ‘k’表示黑色; ‘b’表示蓝色 ‘c’表示青色 ‘g’表示绿色 ‘m’表示洋红 ‘r’表示红色 ‘y’黄色 ‘gray...
  • 前一篇文章讲述了数据预处理、Jieba分词和文本聚类知识,这篇文章主要介绍Matplotlib和Pandas扩展包绘图的基础用法,同时引入Echarts技术,该技术主要应用于网站可视化展示中。本文内容以实例为主,给读者最直观的...
  • matplotlib的api

    2020-12-18 23:19:15
    1. matplotlib的三层api matplotlib的原理: 用Artist对象在画布(canvas)上绘制(Render)图形。 matplotlib.backend_bases.FigureCanvas: 代表了绘图区,所有的图像都是在绘图区完成的 matplotlib.backend_bases....
  • python matplotlib画图是设置线宽

    万次阅读 2019-04-03 09:54:22
    在画图时设置linewidth属性 import matplotlib.pyplot as plt plt.plot(x, y, linewidth=1)
  • Python Matplotlib画图基础介绍

    千次阅读 2020-02-08 16:46:19
    Matplotlib 是 Python 中最常用的一个绘图库,主要用于绘制各种图形,包括散点图、柱状图、3D图、等高线图等等。在做研究过程中肯定会经常用,本文做一个简单的入门介绍,也给出极佳的参考手册,以备查用。内容主要...
  • 控制 matplotlib 子图大小

    千次阅读 2020-02-13 10:47:57
    效果图: ...import matplotlib.pyplot as plt '''调整 matplotlib 子图的大小''' x1 = np.linspace(0.0, 5.0) x2 = np.linspace(0.0, 2.0) y1 = np.cos(2 * np.pi * x1) * np.exp(-x1) y2 = ...
  • matplotlib使用方法

    2021-08-07 19:16:47
    1.matplotlib简介: matplotlib是一个用于创建出版质量图表的桌面绘图包(主要是2D方面)。该项目是由John Hunter于2002年启动的,matplotlib支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的...
  • Matplotlib 教程

    2018-05-24 10:53:05
    Matplotlib 教程 本文为译文,原文载于此,译文原载于此。本文欢迎转载,但请保留本段文字,尊重作者和译者的权益。谢谢。: ) 介绍 Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很...
  • matplotlib之table详细使用、使用matplotlib绘制表格 参数解释详情 表格一般通常和其他图组合使用 cellText:表格的数值,将源数据按照行进行分组,每组数据放在列表里存储,所有组数据再放在列表里储存。 cellLoc:...
  • matplotlib调节colorbar的大小

    千次阅读 2020-10-24 16:59:50
    调节plt.colorbar的fraction系数即可调节colorbar的大小 weight = np.random.random([8, 8]) plt.imshow(weight) plt.colorbar(fraction=0.05, pad=0.05) plt.savefig('tjn.png', bbox_inches='tight') ...
  • matplotlib绘图教程

    万次阅读 多人点赞 2019-05-12 10:04:50
    import matplotlib.pyplot as plt np.random.seed(2) y = np.random.random(10) z = np.random.random(10) x = range(len(y)) plt.grid() # 网格 plt.plot(y, c='g', linewidth=1.5, label='plo...
  • 'G5'] men_means = [20, 35, 30, 35, 27] women_means = [25, 32, 34, 20, 25] width = 0.3 # 条形图的宽度 width_s = 0.3 fig, ax = plt.subplots() ax.bar(labels, men_means, width,label='Men', color='...
  • 一次性掌握所有 Python 画图基础操作

    万次阅读 多人点赞 2019-12-22 16:01:08
    pythonpythonpython 画图介绍 本文以实用为第一目标,...我们使用 matplotlib 来进行 pythonpythonpython 画图,具体的库加载以及初始设置代码如下所示。 import numpy as np # 加载数学库用于函数描述 import matp...
  • (给Python开发者加星标,提升Python技能)来源:逐梦erhttps://zhumenger.blog.csdn.net/article/details/106530281...matplotlib是python优秀的数据可视化库,python数据分析必备利器,本文专门为你整理了matpl...
  • Matplotlib基本参数设置

    2021-06-05 17:05:35
    设置线型的填充样式 linestyle= 设置线型的样式 linewidth= 设置线型的宽度 marker= 设置标记点的样式 代码举例: import matplotlib.pyplot as plt plt.subplot(121) plt.plot([6,2,9,13,-2],c="g",marker="v",ls="-...
  • plt.scatter(x_values, y_values, s=50, c='yellow', edgecolors='none') # 指定线条宽度 # 设置图表标题, 并给坐标轴加上标签 plt.title("Square Numbers", fontsize=24) plt.xlabel("Value", fontsize=14) plt....
  • matplotlib

    2019-06-02 14:30:10
    为将要创建的画板(即窗口)设置大小,figsize=(宽度,高度),dpi=像素点大小 plt.figure(1) #创建第1块画板 ax1 = plt.subplot(211) #将第1块画板划分为2行1列组成的区块,并获取到第1块区域 plt.xxx() #在该区域...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,907
精华内容 6,762
关键字:

matplotlib宽度