精华内容
下载资源
问答
  • Matplotlib】(四)条形图(柱状图)

    千次阅读 2020-04-15 22:15:22
    一、画数据 1.1 plt.bar(x, y)竖着画 1.2 plt.barh(x, y)横着画 ...1.3 plt.bar(color=)设置柱状颜色 二、plt.subplots()画子图 三、plt.axhline()正负柱状之间加横线 四、多柱状比较 ...

    一、plt.bar

    1.1 x:横坐标

    ** 注:不能单独传入横坐标x**
    在这里插入图片描述

    1.2 height:条形的高度

    在这里插入图片描述

    1.3 width:条形的宽度

    在这里插入图片描述

    1.4 bottom:y轴的起始刻度

    在这里插入图片描述

    1.5 color:条形的颜色

    在这里插入图片描述

    1.6 edgecolor:边框的颜色

    在这里插入图片描述

    1.7 linewidth:边框的宽度

    在这里插入图片描述

    1.8 tick_label:下标的标签

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

    1.9 log:y轴使用科学计数法表示

    在这里插入图片描述

    二、 plt.barh水平条形图

    2.1 y:纵坐标

    ** 注:不能单独传入纵坐标y**
    在这里插入图片描述

    2.2 width:条形图宽度

    在这里插入图片描述

    2.3 height:条形图高度

    在这里插入图片描述

    2.4 left:x轴的起始刻度

    在这里插入图片描述

    2.5 color:条形的颜色

    在这里插入图片描述

    2.6 edgecolor:边框的颜色

    在这里插入图片描述

    2.7 linewidth:边框的宽度

    在这里插入图片描述

    2.8 tick_label:下标的标签

    在这里插入图片描述

    2.9 log:y轴使用科学计数法表示

    在这里插入图片描述

    三、plt.axhline()正负条形图之间加横线

    在这里插入图片描述

    四、多条形图比较

    4.1 方式一:错位法

    • (1)条形设置统一宽度
    • (2)x参数,加一个宽度
      在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 条形图 bar 一组数据生成条形图 import numpy as np import matplotlib.pyplot as plt N=5 y=[20,10,30,25,15] index = np.arange(N) # 生成横坐标 plt.bar(index,y,width=0.5,color='b') #条形图 left横坐...

    官方文档 http://matplotlib.org/

    条形图

    • bar 一组数据生成条形图
    import numpy as np
    import matplotlib.pyplot as plt
    N=5
    y=[20,10,30,25,15]
    index = np.arange(N) # 生成横坐标
    plt.bar(index,y,width=0.5,color='b') #条形图 left横坐标 高度height color为颜色,width为宽度 垂直
    plt.show()
    
    • bar 图形高度叠加
    import matplotlib.pyplot as plt
    import numpy as np
    
    fr_list = np.arange(3)
    fr_list1 = [281, 148, 23]
    fr_list2 = [100,100,100]
    plt.bar(fr_list,fr_list1,width=0.3)
    plt.bar(fr_list,fr_list2,width=0.3 , bottom=fr_list1)
    plt.show()
    
    • bar 图形并列排列
    import matplotlib.pyplot as plt
    import numpy as np
    
    fr_list = np.arange(3)
    fr_list1 = [281, 148, 23]
    fr_list2 = [100,100,100]
    plt.bar(fr_list,fr_list1,width=0.3)
    plt.bar(fr_list+0.3,fr_list2,width=0.3) # fr_list+0.3 宽度0.3,刚好可以并列排列
    plt.show()
    
    • np.arange 用法
    >>> np.arange(3)
    array([0, 1, 2])
    
    >>> np.arange(1,3,0.3) # 开始  结束  步长
    array([ 1. ,  1.3,  1.6,  1.9,  2.2,  2.5,  2.8])
    
    >>> np.arange(1,12,2)
    array([ 1,  3,  5,  7,  9, 11])
    
    • 横向条形图 barh
    import matplotlib.pyplot as plt
    import numpy as np
    
    fr_list = np.arange(3)
    fr_list1 = [281, 148, 23]
    
    plt.barh(fr_list,fr_list1,height=0.5) #height 柱状体的宽度
    plt.show()
    
    • 设置标题、图像名,柱状体标签 等其他设置
    import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib
    # 设置中文和负数正常显示
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    matplotlib.rcParams['axes.unicode_minus'] = False
    
    fr_list = np.arange(3)
    fr_list1 = [281, 148, 23]
    plt.xlabel(" 数量") # 纵坐标标签
    plt.ylabel("年份") #横坐标标签
    plt.title("分析图") # 标题
    rects1 = plt.bar(fr_list,fr_list1,width=0.3,label = "1季度")
    plt.legend() # 题注 与bar中的label 对应
    for rect in rects1:
        height = rect.get_height()
        plt.text(rect.get_x() + rect.get_width() / 2, height+1, str(height), ha="center", va="bottom")  
        # ha='center', va= 'bottom'代表horizontalalignment(水平对齐)、verticalalignment(垂直对齐)的方式,fontsize则是文字大小
    plt.show()
    
    '''
    在python的matplotlib库中分别可用bar、barh、plot函数来构建它们,
    再使用xticks与yticks(设置坐标轴刻度)、
    xlabel与ylabel(设置坐标轴标签)、title(标题)、legend(题注)、
    xlim与ylim(设置坐标轴数据范围)、grid(设置网格线)等命令来装饰图形
    '''
    

    折线图

    • 示例
    import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib
    
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    matplotlib.rcParams['axes.unicode_minus'] = False
    
    x = np.arange(3)
    y = [100,130,1800]
    plt.xlabel("xxx")
    plt.ylabel("yyy")
    plt.title("xxxyyy")
    rect1 = plt.plot(x,y,label="图例",ls= '--',lw = '5',c = 'r',marker='o', mec='r', mfc='w')
    plt.legend()
    for a,b in zip(x,y):
        plt.text(a, b+0.2, str(b), ha="center", va="bottom")
    plt.show()
    
    • 其他
    '''
    legend方法可接受一个loc关键字参数来设定图例的位置,可取值为数字或字符串
    0: ‘best'  1: ‘upper right' 2: ‘upper left'      3: ‘lower left'
    4: ‘lower right'   5: ‘right'    6: ‘center left'    7: ‘center right'
     8: ‘lower center'   9: ‘upper center'    10: ‘center'
    
    plot方法的关键字参数color(或c)用来设置线的颜色。可取值为:
         b: blue
         g: green
         r: red
         c: cyan
         m: magenta
         y: yellow
         k: black
         w: white
    plot方法的关键字参数linestyle(或ls)用来设置线的样式。可取值为:
    -, solid
    --, dashed
    -., dashdot
    :, dotted
    '', ' ', None
    
    
    设置plot方法的关键字参数linewidth(或lw)可以改变线的粗细,其值为浮点数。
    
    marker
    以下关键字参数可以用来设置marker的样式:
    
    marker
    markeredgecolor 或 mec
    markeredgewidth 或 mew
    markerfacecolor 或 mfc
    markerfacecoloralt 或 mfcalt
    markersize 或 ms
    其中marker可取值为:
    
    '.': point marker
    ',': pixel marker
    'o': circle marker
    'v': triangle_down marker
    '^': triangle_up marker
    '<': triangle_left marker
    '>': triangle_right marker
    '1': tri_down marker
    '2': tri_up marker
    '3': tri_left marker
    '4': tri_right marker
    's': square marker
    'p': pentagon marker
    '*': star marker
    'h': hexagon1 marker
    'H': hexagon2 marker
    '+': plus marker
    'x': x marker
    'D': diamond marker
    'd': thin_diamond marker
    '|': vline marker
    '_': hline marker
     '''
    
    

    饼图

    import matplotlib.pyplot as plt
    import matplotlib
    
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    matplotlib.rcParams['axes.unicode_minus'] = False
    
    label_list = ["dogs", "cats", "others"]    # 各部分标签
    size = [550, 350, 100]    # 各部分大小
    color = ["red", "green", "blue"]     # 各部分颜色
    explode = [0.05, 0, 0]   # 各部分突出值
    """
    绘制饼图
    explode:设置各部分突出
    label:设置各部分标签
    labeldistance:设置标签文本距圆心位置,1.1表示1.1倍半径
    autopct:设置圆里面文本
    shadow:设置是否有阴影
    startangle:起始角度,默认从0开始逆时针转
    pctdistance:设置圆内文本距圆心距离
    返回值
    l_text:圆内部文本,matplotlib.text.Text object
    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()
    
    '''
    l_text = plt.pie(size, explode=explode, colors=color, labels=label_list, labeldistance=1.1, autopct="%1.1f%%", shadow=False, startangle=90, pctdistance=0.6)
    print(l_text)
    '''
    
    
    #保存图片 dpi为图像分辨率,bbox_inches = 'tight'英寸
    # 注意在plt.show() 方法前调用保存
    plt.savefig('e:/tj/month/123.png',dpi=600,bbox_inches = 'tight')
    
    
    
    展开全文
  • 以下展示一些用 matplotlib条形图、折线图、饼图以及散点图的示例,其中类似于图例、坐标轴名称,标题等的显示方法是一样的,不另做介绍。 0、引入模块 import random import matplotlib.pyplot as plt import ...

    以下展示一些用 matplotlib 画条形图、折线图、饼图以及散点图的示例,其中类似于图例、坐标轴名称,标题等的显示方法是一样的,不另做介绍。

    0、引入模块

    import random
    import matplotlib.pyplot as plt
    import matplotlib
    #引入显示中文的黑体,如果中文显示乱码,解决方法参见我的上一篇博文
    matplotlib.rcParams['font.family'] = "SimHei" 
    matplotlib.rcParams["font.size"] = 10         #字号
    matplotlib.rcParams['font.style'] = 'italic'   #字体样式  斜着
    

    1、画条形图

    def plot_histogram():
        x = list(range(7))
        y = random.sample(range(1,10), 7)
        plt.bar(x, y)
        plt.xlabel('x轴')
        plt.ylabel('y轴')
        plt.title('条形图')
        plt.show()
    

    如上述代码所示,x 和 y 分别是生成的数据,
    plt.bar() 则是画条形图的语法,
    plt.xlabel()plt.ylabel() 表示x轴和y轴下的标题,
    plt.title() 则是整幅图的标题,
    对于图片,我们可以使用 plt.shhow() 用来即时展示图片,也可以使用 plt.savefig(path) 来存储图片。

    以下是运行上面这个函数的结果:
    在这里插入图片描述

    2、画折线图

    上面说过,matplotlib 的画图除了语法,其他类似于图例,标签,标题的用法和其他函数都一样,以下是折线图的一个示例:

    def plot_line():
        x = list(range(7))
        y = random.sample(range(1,10), 7)
        plt.plot(x, y, label='y',marker='.', color='blue')
        plt.xlabel('x轴')
        plt.ylabel('y轴')
        plt.title('折线图')
        plt.legend()	#图例,用来表示图中线的信息
        plt.show()
    

    如上述代码,折线图的语法是 plt.plot(),后面的参数信息详解如下:
    label 表示的是标签,用于图例中显示,
    marker 表示的是折线的每个点的标记类型,示例中是 点,还可以是 * 表示 * 号、- 表示实线、-- 表示破折号等。
    color 表示的是线条的颜色,可以是英文,也可以 RGB 代码这种像素来表示颜色,如 color=’#7834ff’
    plt.legend() 表示的是图例,在 matplotlib 中图例的位置是变化的,一般哪里有空位就跑到哪里去了,如果想要固定住,就需要额外用代码来调节。
    以下是示例结果:
    在这里插入图片描述
    如果是要在一幅图里画多条折线,直接把 plt.plot() 这个函数再用一边即可:

    def plot_line():
        x = list(range(7))
        y1 = random.sample(range(1,10), 7)
        y2 = random.sample(range(1,10), 7)
        plt.plot(x, y1, label='y1', marker='.', color='blue')
        plt.plot(x, y2, label='y2', marker='*', color='green')
        plt.xlabel('x轴')
        plt.ylabel('y轴')
        plt.title('折线图')
        plt.legend()
        plt.show()
    

    以下是结果:
    在这里插入图片描述

    3、画饼图

    饼图的语法是 plt.pie(),如下是示例:

    def plot_pie():
    	#这是每个部分的名称
        name_list = ['part1','part2','part3','part4']
        #这是每个部分对应的数据,与上述名称列表对应
        num_list = [56,33,78,95]
        #explode 是用于着重的表示,某个值不为0表示对应某个部分离开圆心的距离
        explode = (0,0,0.1,0)
        #每个部分所用的颜色
        colors = ['orange', 'yellow', 'lime', 'red']
    	
    	#如果画出来的圆是扁的,可以用以下三行代码把圆变成一个正圆
        plt.xlim(0.8)
        plt.ylim(0.8)
        plt.axes(aspect='equal')
    
        plt.pie(num_list, labels=name_list, explode=explode, colors=colors)
        plt.title('饼图', fontsize=18)
        plt.legend()
        plt.show()
    

    plt.pie() 的用法详情都在代码示例中说明了,如下是示例运行结果:

    在这里插入图片描述

    4、画散点图

    散点图的方法是 plt.scatter(),如下是使用示例:

    def plot_scatter():
        x = list(range(7))
        y = random.sample(range(1,10), 7)
        plt.scatter(x, y)
        plt.title('散点图', fontsize=18)
        plt.show()
    

    使用方法就很简答,如下是运行结果:
    在这里插入图片描述
    好了,以上就是这几种图的语法,接下来如果有时间的话,还会涉及以下方面知识点:网格的绘制、坐标名称过长换行的处理、x 轴和 y 轴的变化范围的确定等。

    展开全文
  • python matplotlib 条形图的填充效果

    千次阅读 2020-07-18 21:34:56
    写专利用的python里面的matplotlib画的条形图 ,最开始用的三种颜色来区分,如下图: 然而被告知不行,只能用黑白的,其他颜色不能用,于是想到用灰度,如下图: 然而又被告知,不行,不能用灰度,只能用条形框的...

    写专利用的python里面的matplotlib画的条形图 ,最开始用的三种颜色来区分,如下图:
    在这里插入图片描述
    然而被告知不行,只能用黑白的,其他颜色不能用,于是想到用灰度,如下图:
    在这里插入图片描述
    然而又被告知,不行,不能用灰度,只能用条形框的填充格式进行区分,接近崩溃,百度了半天也没看到相关的帖子,后来终于找到了,先来看一下效果,源码贴在最后面。效果如下图:
    在这里插入图片描述
    源码如下:

    import matplotlib.pyplot as plt 
    import numpy as np
    from pylab import mpl
    
    mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']
    Y2016 = [83.2, 85, 83.9] 
    Y2017 = [80.4, 74.6, 86.5]
    Y2018 = [85.8, 87.2, 89.1]
    labels = ['准确性', '敏感性', '特异性'] 
    bar_width = 0.25 
     
    # 绘图
    plt.figure(figsize=(10,10))
    plt.bar(np.arange(3), Y2016, label='TSVM', color='white', alpha=1, width=bar_width,edgecolor="k",hatch='/') 
    plt.bar(np.arange(3) + bar_width, Y2017, label=u'协同训练半监督', color='white', alpha=1, edgecolor="k",width=bar_width,hatch="***")
    plt.bar(np.arange(3) + 2*bar_width, Y2018, label=u'结合TSVM和协同训练半监督', color='white', alpha=1, edgecolor="k",width=bar_width,hatch="xxx")
     
    # 添加刻度标签 
    plt.xticks(np.arange(3) + bar_width, labels)
    plt.tick_params(labelsize=20)
    # 设置Y轴的刻度范围 
    plt.ylim([0, 100]) 
     
    # 为每个条形图添加数值标签 
    for x2016, y2016 in enumerate(Y2016): 
        plt.text(x2016, y2016 + 2, '%s' % y2016, ha='center',fontsize=20) 
     
    for x2017, y2017 in enumerate(Y2017): 
        plt.text(x2017 + bar_width, y2017 + 2, '%s' % y2017, ha='center',fontsize=20)
    
    for x2018, y2018 in enumerate(Y2018): 
        plt.text(x2018 + 2*bar_width, y2018 + 2, '%s' % y2018, ha='center',fontsize=20)
    # 显示图例
    plt.legend(bbox_to_anchor=(0.5,1), loc=3, borderaxespad=0,fontsize=17)
    plt.savefig('foo.png') 
    # 显示图形 
    plt.show() 
    
    

    其中,hatch这个参数的值就是改变填充效果的,具体的效果有:‘*oO/|±.’,填充密度根据你引用的符号数量变化,如hatch=‘/’肯定比hatch=’///'要密集对吧。

    展开全文
  • import matplotlib.pyplot as plt %matplotlib inline #中文乱码问题解决 plt.rcParams['font.sans-serif'] = ['Simhei'] plt.rcParams['axes.unicode_minus'] = False #画布的设置 plt.figure('emmmm',fig...
  • 条形图绘制其他样式的柱形图水平的条形图2.误差线坐标轴参数plot方法errorbar方法3.文字注释text方法figtext方法annotate方法 1.条形图 import matplotlib.pyplot as plt data = [5, 20, 15, 25, 10] plt.bar...
  • 在y轴上绘制定性数据分布特征(条形图)3.在x轴绘制定量数据分布特征(直方图)4.堆积柱状图5.堆积条形图6.多数据并列柱状图7.多数据平行条形图8.间断条形图9.堆积直方图 1. 在x轴上绘制定性数据分布特征(柱状图)...
  • 绘制简单柱状 代码如下: import matplotlib.pyplot as plt X = [0, 1, 2, 3, 4, 5] Y = [222, 42, 455, 664, 454, 334] plt.rcParams['font.sans-serif']=['SimHei']#正常显示中文汉字 plt.bar(X, Y, 0.4...
  • matplotlib 是一个绘图库,他可以创建常用的统计图,包括条形图、箱线图、折线图、散点图和直方图 """ """ 条形图 """ import matplotlib.pyplot as plt #导入 plt.style.use('ggplot') #设置样式, 模拟gglot...
  • 条形图与直方图的对比 假设你获取了250部电影的是长,希望获取这些电影时长的分布状态(某一时间段中电影的数量,出现的频率)等信息。 from matplotlib import pyplot as plt from matplotlib import font_manager ...
  • 只需几行代码即可生成直方图,条形图,饼图,散点图等。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。希望本文能帮助大家了解如何将matplotlib...
  • Matplotlib 是Python中类似 MATLAB 的绘图工具,可以快速方便地生成高质量的图标 安装和导入库 安装Matplotlib库 Anaconda:安装了anaconda之后,Matplotlib就已经安装好了 pip pip install matplotlib 导入...
  • Matplotlib是一个Python 2D绘图库,它可以在各种平台上运行。 Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四...Matplotlib可以用于绘制直方图,饼图,条形图,散点图等。
  • plt.scatter(绘制散点) 绘图 plt.scatter(x, y, label="xxx") x,x坐标 y,y坐标 label,标签 调整x轴的刻度 仍然是用plt.xticks(_x, _xtick_labels, rotation=45) _x是...
  • import matplotlib.pyplot as plt plt.plot(位置序列, 数据序列, secondary_y, style, marker, markersize, linstyle, linewidth,color, ) plt.plot(数据序列)序列无,则默认为0,1,2... # secondary_y:是否在...
  • 文章目录一、Matplotlib概念和基本属性设置思维...manager.FontProperties()参数(3)plt.plot()参数(4)plt.legend()参数(5)plt.grid()参数三、条形图基础绘制1、简单条形图(1)导入模块(2)设置条形图的属性
  • 使用matplotlib绘制折线图,条形图,散点图,直方图 1.折线图 import random import matplotlib from matplotlib import pyplot as plt # 显示中文 font = {'family': 'monospace', 'weight': 'bold', 'size': '...
  • 简介条形图(bar chart)是用宽度相同条形的高度或长短来表示数据...绘制条形图1 import matplotlib.pyplot as plot23 data = [5., 25., 50., 20.]45 plot.bar(range(len(data)), data)6 plot.show()上述代码:#3...
  • import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字体设置-黑体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 sns.set(font='...
  • Matplotlib 是 Python 提供的一个绘图库,通过该库我们可以很容易的绘制出折线、直方、散点、饼图等丰富的统计,安装使用 pip install matplotlib 命令即可,Matplotlib 经常会与 NumPy 一起使用。...
  • matplotlib是数据分析中常用的画图工具,用于将数据进行可视化处理。 本文将简单介绍使用matplotlib库绘制基本图形的方法。 安装matplotlib 第一次使用matplotlib时需要进行安装。 pip install matplotlib 线形 ...
  • 使用Matplotlib制作“条形图”:pyplot.bar(x, height, width, bottom, tick_label, label, **kwargs) 原创牛奶没法用 最后发布于2019-08-16 19:33:47 阅读数 627 收藏 展开 本文将介绍绘制条形图plt.bar()的方法,...
  • 主要介绍了python使用matplotlib绘制柱状图的方法教程,其中实现的柱状图效果包括基本的柱状图、堆叠柱状图、并列柱状图、条形图以及柱状图的各种样式设置,需要的朋友可以参考借鉴,下面来一起看看吧。
  • Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线,直方,功率谱,散点等常用图表,而且语法简单。Python中通过matplotlib模块的pyplot子库来完成绘图。Matplotlib可用于创建高质量的...
  • matplotlib.pyplot库的知识点之bar函数——绘制条形图 Help on BarContainer in module matplotlib.container object: class BarContainer(Container) | Container for the artists of bar plots (e.g. created by...
  • python matplotlib各种绘图类型完整总结

    万次阅读 多人点赞 2019-10-02 10:47:54
    Matplotlib图像基础1.1 __基本绘图实例:sin、cos函数__1.2 plot()函数详解1.3 __matplotlib中绘图的默认配置__1.4 __设置的横纵坐标的上下界:__1.5 __设置横纵坐标上的记号__1.6 __调整图像的脊柱__1.7 添加...
  • 条形图:  特点:绘制离散的数据,能够一眼看出各个数据的大小,比较数据之间的差距(统计) 散点图:  特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律) 绘制散点图...
  • Matplotlib常用绘图指令大全

    千次阅读 2019-09-28 21:13:09
    常用配置: matplotlib.rcParams 本文首发于本csdn博主私人博客:Timing is Fun A dictionary object including validation import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib inline ...
  • matplotlib绘图——柱状

    千次阅读 2018-04-07 11:33:36
    1. 基本的柱状import matplotlib.pyplot as plt data = [5, 20, 15, 25, 10] plt.bar(range(len(data)), data) plt.show() plt.bar 函数签名为:bar(left, height, width=0.8, bottom=None, **kwargs) 事实上,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,169
精华内容 867
关键字:

matplotlib条形图样式