精华内容
下载资源
问答
  • 条形图绘制其他样式的柱形图水平的条形图2.误差线坐标轴参数plot方法errorbar方法3.文字注释text方法figtext方法annotate方法 1.条形图 import matplotlib.pyplot as plt data = [5, 20, 15, 25, 10] plt.bar...

    Matplotlib的绘图功能

    1.条形图

    import matplotlib.pyplot as plt
    
    data = [5, 20, 15, 25, 10]
    
    plt.bar(range(len(data)), data)
    plt.show()
    
    bar(left, height, width=0.8, bottom=None, **kwargs)
    

    在这里插入图片描述

    可以通过增加关键字对条形图进行修饰:

    1. 颜色

      facecolor(或fc):用于设置柱体的颜色

      通过 color 关键字参数 可以一次性设置多个颜色,color是一个数组

    2. 描边

      • edgecolor 或 ec:描边的颜色,如white,black,blue
      • linestyle 或 ls: 描边的样式,如 “-” , “–”;
      • linewidth 或 lw:描边的宽度 :
    3. 填充

      hatch :hatch的值用于设置填充条形图的图形,如 “X”, “o” ,"/" ;

      注意:hatch的长个数表示填充的密度,如"“表示用”/"密集得填充

    4. 误差线

      yerr: 定义误差的浮动的绝对值
      error_kw: 误差线关键字,是一个字典
      关键字有:
      ecolor:误差线的颜色
      elinewidth: 误差线的宽度,即粗细
      capsize: 误差线帽子的长度
      
    5. 图例位置

      pyplot.legend(**ky)
      
      #loc: 可选'best','upper left','bottom right' 等
      #bbox_to_anchor=(0.2, 1),以左下角为为原点,调整位置
      #bbox_transform=ax.transAxes
      #frameon: 图例是否有边框
      #下面的操作由于修改边框的颜色
      leg = plt.legend()
      leg.get_frame().set_edgecolor('b') 
      
      
    6. 合并图例

      #得到坐标轴1图例的句柄和标签值
      handles_1, labels_1 = ax1.get_legend_handles_labels()
      #得到坐标轴2图例的句柄和标签值
      handles_2, labels_2 = ax2.get_legend_handles_labels()
      #关键字传入,传入label(一个数组)参数可以改变图例的标签值
      plt.legend(handles=handles_1 + handles_2, bbox_to_anchor=(0.1, 1))
      
    7. 设置刻度线标签(tick label)

      import matplotlib.pyplot as plt
      
      data = [5, 20, 15, 25, 10]
      labels = ['Tom', 'Dick', 'Harry', 'Slim', 'Jim']
      
      plt.bar(range(len(data)), data, tick_label=labels)
      plt.show()
      

      img

    示例:

    import matplotlib.pyplot as plt
    
    labels = [0.3, 0.5, 1.0, 1.5, 3.0]
    bottom_means = [20, 80, 160, 250, 400]
    top_means = [210, 250, 1200, 1500, 2600]
    top_std = [20, 40, 80, 200, 500]
    width = 0.15  # the width of the bars: can also be len(x) sequence
    
    #subplots是将多个图画到同一个平面上得工具,在matlab也有同样的函数
    
    fig, ax = plt.subplots()
    ax.bar(labels, bottom_means, width, color='white', edgecolor='black', ls='-', lw=1, hatch='', label='PFOA in water')
    ax.bar(labels, top_means, width, color='white', edgecolor='black', ls='-', lw=1, yerr=top_std, bottom=bottom_means,
           hatch='xx',
           label='PFOA on SS')
    #设置y轴上得标签值
    ax.set_ylabel('PFOA amount (g)')
    #设置图标的标题
    ax.set_title('Initial PFOA concentration (mg/L)')
    #设置图例,loc=location,指的是图例的位置
    ax.legend(loc='upper left')
    
    plt.show()
    

    绘制其他样式的柱形图

    • 水平的条形图
      import matplotlib.pyplot as plt
      
      data = [5, 20, 15, 25, 10]
      
      plt.barh(range(len(data)), data)
      plt.show()
      

      preview

    • 正负条形图

    import numpy as np
    import matplotlib.pyplot as plt
    
    a = np.array([5, 20, 15, 25, 10])
    b = np.array([10, 15, 20, 15, 5])
    
    plt.barh(range(len(a)), a)
    plt.barh(range(len(b)), -b)
    plt.show()
    

    img

    2.误差线

    坐标轴参数

    1. 设置双Y坐标轴

      ax2 = plt.twinx()
      

      主要通过twinx( )方法创建出另一个坐标轴,此时在下面画图将会以右侧纵坐标为准

    2. 修改坐标轴的范围

      pyplot.ylim(ymax=400)
      pyplot.ylim(ymin=10)
      pyplot.xlim(xmax=10)
      
    3. 设置坐标轴刻度的参数

      pyplot.tick_params(which='major', direction='in', length=6)
      #可选关键字
      #可选参数which:选择major or minor
      #direction:刻度的朝向,可选in or out
      #length: 刻度的长度
      #width: 刻度的宽度
      #size : 刻度标签的大小
      #axis: 指定是纵坐标还是,横坐标,可选xaxis or yaxis
      #colors:刻度标签的颜色
      
      axis.xaxis.set_minor_locator(MultipleLocator(0.25))
      #设置纵坐标或者横坐标的次纵坐标的位置,上面表示每个0.25画一个次纵坐标
      
    4. 设置坐标轴颜色

      axis.spines['bottom'].set_color('red')
      #设置坐标轴的颜色,可选参数top or bottom or left or right
      
    5. 隐藏坐标轴

      #隐藏y轴坐标
      plt.gca().get_yaxis().set_visible(False)
      #隐藏x轴坐标
      plt.gca().get_xaxis().set_visible(False)
      

    plot方法

    • **plot([x], y, [fmt], data=None, kwargs)

      fmt:可选参数[fmt] 是一个字符串来定义图的基本属性如:颜色(color),点型(marker),线型(linestyle)

      具体形式 fmt = ‘[color][marker][line]’

      参考了:matplotlib.pyplot.plot()参数详解

      plot(x, y, 'bo-')  # 蓝色圆点实线
      

      color: 线的颜色

      marker: 点的形状

      line: 线的形状

      	#maker的可选值
          =============    ===============================
          character        description
          =============    ===============================
          ``'.'``          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
          =============    ===============================
      
      #line的可选值
      =============    ===============================
      character        description
      =============    ===============================
      ``'-'``          solid line style 实线
      ``'--'``         dashed line style 虚线
      ``'-.'``         dash-dot line style 点画线
      ``':'``          dotted line style 点线
      =============    ===============================
      

      如果不选maker,那么只是直接连线

      • 其他关键字

        lw(linewidth):线的宽度(粗细)
        c(color):线的颜色
        ls(linestyle):线的样式
        marker:折点的形状
        markeredgecolor 或 mec -- 折点外边颜色
        markeredgewidth 或 mew -- 折点线宽
        markerfacecolor 或 mfc --折点实心颜色
        markerfacecoloralt 或 mfcalt
        markersize 或 ms --折点大小
        

    errorbar方法

    errorabar方法专门用来作误差线,但它无法很好的定义连线的参数,因此可以与plot方法配合使用。

    errorbar(x, y,**kwargs)
    #x,y 绘图的点
    #关键字:
    #xerr,yerr: 数据的误差范围
    #fmt: 数据点的标记样式以及相互之间连接线样式
    #ecolor: 误差棒的线条颜色
    #elinewidth: 误差棒的线条粗细
    #capsize: 误差棒边界横杠的大小
    #capthick: 误差棒边界横杠的厚度
    #ms(markersize): 数据点的大小
    #mfc: 数据点的颜色
    #mec: 数据点边缘的颜色
    

    3.文字注释

    text方法

    text方法专门用来向图表中添加文字

    pyplot.text(-3, 40, "要添加的内容"(可以使用Latex语法),**keyword)
    # 可选的关键字:
    # alpha 设置字体的透明度
    # family 设置字体
    # size 设置字体的大小
    # style 设置字体的风格
    # wight 字体的粗细
    # bbox 给字体添加框,alpha 设置框体的透明度, facecolor 设置框体的颜色
    

    figtext方法

    	figtext方法可以向图标中任意位置添加文字
    
    #使用figtext()
    x = np.arange(0, 2*np.pi, 0.01)
    plt.plot(np.sin(x))
    plt.figtext(0.5, 0.5, "sin(0)=0")  # 使用figtext时,x,y代表相对值,表示图片的宽高
    plt.show()
    

    annotate方法

    ​ annoatate方法可以添加箭头

    plt.figure(figsize=(6, 6))
    x = np.random.randint(0, 10, size=10)
    x[5] = 30    # 对x中索引值为5的重新赋值
    plt.plot(x)
    plt.ylim([-2, 35])
    # plt.annotate(text="this point is important", xy=(5, 30), xytext=(6, 31),arrowprops={"width": 2, "headlength": 5, "headwidth": 5, "shrink": 0.1})
    plt.annotate(s="this point is important", xy=(5, 30), xytext=(6, 31),arrowprops={"arrowstyle":"->"}) 
    # 如果arrowprops中有arrowstyle,就不应该有其他的属性,
    #xy代表的是箭头的位置,xytext代表的是箭头文本的位置。
    plt.show()
    #箭头参数:
    #text : "string"
    	
    #xy: 箭头的坐标
    	
    #xytext: 文字的坐标
    	
    #arrowprops: 箭头的属性,字典类型:
    #下面是箭头的属性:
    #headlength:箭头头部的长度
    
    #headwidth:箭头头部的宽度
    	
    #facecolor:箭头颜色
    	
    #shrink:箭头的长度(两坐标距离的比例,0~1)
    	
    #width:箭头的宽度
    

    箭头的样式:

    在这里插入图片描述

    其他例子

    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.ticker import MultipleLocator
    # x轴坐标
    x = [0, 1, 2, 5, 8, 10, 15]
    # 曲线1的y轴坐标
    y1 = [188, 135, 108, 80, 74, 70, 74]
    # 右侧曲线y轴的缩放系数
    k = 7 / 200
    # 右侧曲线的y轴值
    y2 = [178 * k, 125 * k, 96 * k, 65 * k, 48 * k, 38 * k, 43 * k]
    y3 = [18, 15, 13, 9, 7, 5, 6]
    y4 = [0, 55, 76, 110, 126, 140, 132]
    # 生成子图和图像
    fig, ax1 = plt.subplots()
    # 绘制误差线,并用字典加以修饰
    # $x^2$这是使用Latex渲染
    ax1.errorbar(x, y1, yerr=7, lw=1, ecolor='k', color='k', marker='o', mfc='w', ms=10,
                 capsize=3, mec='k', label="$SS$")
    ax1.errorbar(x, y3, yerr=7, lw=1, ecolor='k', color='k', marker='s', mfc='w', ms=7,
                 capsize=3, mec='k', label="$Water$")
    ax1.errorbar(x, y4, yerr=7, lw=1, ecolor='k', color='k', marker='^', mfc='w', ms=10,
                 capsize=3, mec='k', label="$Precipitate$")
    ax1.set_ylabel("PFOA amount (g)", fontdict={'weight': 'bold', 'size': 13})
    # 开启次坐标轴
    plt.minorticks_on()
    # plt.legend(frameon=False, bbox_to_anchor=(0.915, 1)
    # 获取子图1的图例句柄和标签值
    handles_1, labels_1 = ax1.get_legend_handles_labels()
    # 设置次坐标轴的相关参数
    plt.gca().get_xaxis().set_minor_locator(MultipleLocator(1))
    plt.gca().get_yaxis().set_major_locator(MultipleLocator(40))
    plt.gca().get_yaxis().set_minor_locator(MultipleLocator(20))
    # 设置 x轴和y轴刻度的相关参数
    plt.tick_params(which='minor', axis='x', direction='in')
    plt.tick_params(which='minor', axis='y', direction='in')
    plt.tick_params(which='major', axis='x', length=4)
    plt.tick_params(which='major', axis='y', length=4)
    # plt.annotate(xy=(0, 0), xytext=(14, 160), text="$y=x^2$",
    #              arrowprops={"width": 2, "headlength": 5, "headwidth": 5,
    #
    #                          "shrink": 0.05})
    # 生成右侧的纵坐标,当前画图将以右侧为准
    ax2 = plt.twinx()
    # 设置 右侧y轴的坐标轴范围
    plt.ylim(ymax=7)
    line4 = plt.errorbar(x, y2, lw=1, yerr=7 * k, marker='o', mfc='b', ms=10, capsize=3, label="$Residual turbidity$")
    
    plt.gca().get_yaxis().set_minor_locator(MultipleLocator(0.5))
    # 设置右侧纵坐标的y轴参数
    plt.tick_params(which='minor', axis='y', direction='in')
    plt.tick_params(which='major', axis='y', length=4)
    ax2.set_ylabel("Residual turbidity (NTU)", fontdict={'weight': 'bold', 'color': 'blue', 'size': 13})
    ax2.spines['right'].set_color('blue')
    # plt.legend(frameon=False, bbox_to_anchor=(1, 0.85))
    # 获得子图的图例句柄和标签值
    handles_2, labels_2 = ax2.get_legend_handles_labels()
    # 将两个图例合并
    plt.legend(handles=handles_1 + handles_2, bbox_to_anchor=(0.1, 1))
    # 绘制标题栏
    plt.title("PACl dose (mg/L)", fontdict={'weight': 'bold', 'size': 15})
    
    plt.show()
    fig.savefig('p2.svg', bbox_inches='tight')
    
    
    import kwargs as kwargs
    import numpy as np
    from brokenaxes import brokenaxes
    from matplotlib import pyplot as plt
    from matplotlib.pyplot import minorticks_on
    from matplotlib.ticker import MultipleLocator
    
    # 此处使用numpy生成一组数列,这是x轴的值,是左闭右开的
    x = np.arange(0, 25, 5)
    # 设置y轴的值
    y1 = [0.8, 0, 0, 0, 0]
    y2 = [6.5, 2.5, 0.8, 0, 0]
    y3 = [370, 90, 8.2, 1.3, 0]
    # 生成图像和两个子图,第一个子图有两列,第二个子图有一列,ax1会在ax2下方显示
    fig, (ax2, ax1) = plt.subplots(2, 1, sharex=True)
    # 为整个图像添加一个大的子图,只是为了能够添加y轴的标题
    fig.add_subplot(211, frameon=False)
    # 隐藏ax1上方的坐标轴
    ax1.spines['top'].set_visible(False)
    # 隐藏 ax2的底部坐标轴
    ax2.spines['bottom'].set_visible(False)
    # 将次坐标轴打开
    minorticks_on()
    # 设置x轴和y轴的主次坐标轴间隔
    ax1.xaxis.set_major_locator(MultipleLocator(5))
    ax1.xaxis.set_minor_locator(MultipleLocator(2.5))
    ax1.yaxis.set_minor_locator(MultipleLocator(2))
    # 设置ax1和ax2的y轴范围
    ax1.set_ylim(0, 8.5)
    ax2.set_ylim(95, 400)
    # 隐藏ax2的x轴刻度线
    ax2.tick_params(which='both', axis='x', length=0)
    # 绘制误差线
    ax1.errorbar(x, y1, yerr=0.4, fmt='k-s', lw=0.8, mfc='w', mec='k', capsize=2, elinewidth=0.2, ms=7,
                 label='0.5 mg/L PFOA')
    ax2.errorbar(x, y1, yerr=0.4, fmt='k-s', lw=0.8, mfc='w', mec='k', capsize=2, elinewidth=0.2, ms=7,
                 label='0.5 mg/L PFOA')
    ax1.errorbar(x, y2, yerr=0.4, fmt='k-o', lw=0.8, mfc='w', mec='k', capsize=2, elinewidth=0.2, ms=7,
                 label='1 mg/L PFOA')
    ax2.errorbar(x, y2, yerr=0.4, fmt='k-o', lw=0.8, mfc='w', mec='k', capsize=2, elinewidth=0.2, ms=7,
                 label='1 mg/L PFOA')
    ax1.errorbar(x, y3, yerr=0.4, fmt='b-^', lw=0.8, mfc='w', ecolor='blue', mec='b', capsize=2, elinewidth=0.2, ms=7,
                 label='3mg/L PFOA')
    ax2.errorbar(x, y3, yerr=0.4, fmt='b-^', lw=0.8, mfc='w', ecolor='blue', mec='b', capsize=2, elinewidth=0.2, ms=7,
                 label='3mg/L PFOA')
    # 绘制两条斜杠,表示坐标轴之间不连续
    d = 0.015
    # 下面这句话是一个字典,表示以整个坐标轴的长度为单位1,颜色设为黑色
    kwargs = dict(transform=ax2.transAxes, color='k', clip_on=False, lw=0.8)
    ax2.plot((-d, +d), (-d, +d), **kwargs)  # top-left diagonal
    
    kwargs.update(transform=ax1.transAxes)  # switch to the bottom axes
    ax1.plot((-d, +d), (1 - d, 1 + d), **kwargs)  # bottom-left diagonal
    
    ax1.plot((1, 1), (1, 1 + 20 * d), **kwargs)
    
    # What's cool about this is that now if we vary the distance between
    # ax and ax2 via f.subplots_adjust(hspace=...) or plt.subplot_tool(),
    # the diagonal lines will move accordingly, and stay right at the tips
    # of the spines they are 'breaking'
    ax2.legend()
    # 将大子图的x轴 y轴 ,刻度线全部隐藏
    plt.tick_params(labelcolor='none', top='off', bottom='off', left='off', right='off')
    plt.tick_params(which='both', length=0)
    
    plt.title("PAC dose (mg/L)", size='14', weight='bold')
    fig.text(0.04, 0.5, 'PFOA in water (g/L)', size='15', weight='bold', ha='center', va='center', rotation='vertical')
    
    plt.show()
    plt.title("PAC dose (mg/L)")
    # 下面表示dpi表示像素密度,当时保存为矢量图就不存在像素的概念了
    fig.savefig('p3.svg', dpi=600)
    
    
    展开全文
  • matplotlib 是一个绘图库,他可以创建常用的统计图,包括条形图、箱线图、折线图、散点图和直方图 """ """ 条形图 """ import matplotlib.pyplot as plt #导入 plt.style.use('ggplot') #设置样式, 模拟gglot...

    matplotlib是第三方库中一个绘图的库。

    # -*- coding: utf-8 -*-
    """
    
    
    matplotlib 库的学习
    matplotlib 是一个绘图库,他可以创建常用的统计图,包括条形图、箱线图、折线图、散点图和直方图
    
    
    """
    
    """
    条形图
    
    """
    
    import matplotlib.pyplot as plt #导入
    
    plt.style.use('ggplot') #设置样式, 模拟gglot2风格的绘图
    
    customers = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO'] #客户名数据
    customers_index = range(len(customers)) #生成客户索引序列
    sale_amounts = [127, 90,201, 111, 232] #客户销售数量数据
    
    fig = plt.figure() #创建基础图
    ax1 = fig.add_subplot(1,1,1) #添加子图
    
    ax1.bar(customers_index, sale_amounts, align='center', color='darkgreen') #创建条形图
    
    ax1.xaxis.set_ticks_position('bottom') #设置x轴的刻度线位置
    ax1.yaxis.set_ticks_position('left') #设置y轴的刻度线位置
    plt.xticks(customers_index, customers, rotation=45, fontsize='small') #刻度线标签 更改为实际客户名
    plt.xlabel('customer') #添加x轴标签
    plt.ylabel('sale amount')# y轴标签
    plt.title('sale amount per customer')# 添加标题
    plt.savefig('bar_plot.png', dpi=400,bbox_inches='tight')# 保存设置  保存文件名, 图形分辨率, 保存图形时四周去空白
    
    plt.show()
    
    

    在这里插入图片描述

    展开全文
  • matplotlib 基本图形

    2020-07-18 21:48:29
    matplotlib基本图形散点图折线图条形图直方图饼状图箱形图颜色和样式颜色点,线的样式样式字符串面向对象VS Matlab Sytle子图Matplotlib对象简介实例多图网格图例坐标轴坐标轴范围坐标轴刻度添加坐标轴 基本图形 ...

    基本图形

    散点图

    import numpy as np
    import matplotlib.pyplot as plt
    height=[161,170,182,175,173,165]
    weight=[50,58,80,70,69,55]
    plt.scatter(height,weight)
    plt.show()
    N=1000
    x=np.random.randn(N)
    y1=np.random.randn(len(x))
    plt.scatter(x,y1)
    plt.show()
    y2=x+np.random.randn(len(x))*0.1
    plt.scatter(x,y2)
    y3=-1*x+np.random.randn(len(x))*0.1
    plt.scatter(x,y3)
    N = 1000
    x = np.random.rand(N)
    y = np.random.rand(N)
    open,close=np.loadtxt('000001.csv',delimiter=',',skiprows=1,usecols=(1,4),unpack=True)
    change=close-open
    yesterday=change[:-1]
    today=change[1:]
    plt.scatter(today,yesterday)
    plt.show()
    s=200
    marker='v'
    c='green'
    alpha=1
    plt.scatter(x, y1, s=50, marker='o', c='red', alpha=0.5)
    plt.show()
    open,close=np.loadtxt('000001.csv',delimiter=',',skiprows=1,usecols=(1,4),unpack=True)
    change=close-open
    yesterday=change[:-1]
    today=change[1:]
    plt.scatter(yesterday,today,s=500,c='r',alpha=1)
    
    plt.show()
    

    折线图

    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib.dates as mdates
    x=np.linspace(-10,10,100)
    y=x**2
    plt.plot(x,y)
    plt.show()
    date,open,close=np.loadtxt('000001.csv',delimiter=',',
                               converters={0:mdates.strpdate2num('%m/%d/%Y')},skiprows=1,usecols=(0,1,4),unpack=True)
    
    
    plt.plot_date(date,close,'y-')
    
    plt.show()
    
    plt.plot_date(date,close,'go')
    
    plt.plot_date(date,close,'r--')
    
    plt.show()
    
    plt.plot(date, close, color='green', linestyle='dashed', marker='o',
         markerfacecolor='blue', markersize=12)
    
    plt.show()
    
    

    条形图

    import numpy as np
    import matplotlib.pyplot as plt
    N=5
    y=[20,10,30,25,15]
    index = np.arange(N)
    p1 = plt.bar(x=index, height=y,width=0.5,bottom=100,color='red')
    plt.show()
    #水平的
    p2 = plt.bar(x=0, bottom=index, width=y,height=0.5,orientation='horizontal')
    plt.show()
    #默认画水平的图
    p3=plt.barh(bottom=index,width=y,height=0.5)
    
    plt.show()
    
    index=np.arange(4)
    
    sales_BJ=[52,55,63,53]
    sales_SH=[44,66,55,41]
    
    bar_width=0.3
    #并列条形图
    plt.bar(index,sales_BJ,bar_width,color='b')
    plt.bar(index+bar_width,sales_SH,bar_width,color='r')
    plt.show()
    #层叠图
    plt.bar(index,sales_BJ,bar_width,color='b')
    plt.bar(index,sales_SH,bar_width,color='r',bottom=sales_BJ)
    plt.show()
    

    直方图

    import numpy as np
    import matplotlib.pyplot as plt
    mu = 100  # mean of distribution
    sigma = 20  # standard deviation of distribution
    x = mu + sigma * np.random.randn(2000)
    plt.hist(x, bins=10,color='red',normed=True)#normed 是否标准化
    plt.hist(x, bins=50,color='green',normed=False)
    plt.show()
    #双变量的直方图
    x = np.random.randn(1000)+2
    y = np.random.randn(1000)+3
    plt.hist2d(x, y, bins=40)
    plt.show()
    

    饼状图

    import matplotlib.pyplot as plt
    from matplotlib.gridspec import GridSpec
    
    # Some data
    
    labels = 'A', 'B', 'C', 'D'
    fracs = [15, 30, 45, 10]
    
    explode = (0, 0.05, 0, 0)
    
    # Make square figures and axes
    
    plt.axes(aspect=1)
    #离圆的中心
    explode = (0, 0.05, 0, 0)
    #plt.pie(fracs, labels=labels, autopct='%1.1f%%', shadow=True)
    plt.pie(fracs, explode=explode, labels=labels, autopct='%.0f%%', shadow=True)#shadow 加阴影
    plt.show()
    

    箱形图

    是一种用作显示一组数据分散情况资料的统计图。
    上边缘,上四分位数,中位数,下四分位数,下边缘,异常值

    import numpy as np
    import matplotlib.pyplot as plt
    np.random.seed(100)
    data = np.random.normal(size=1000, loc=0.0, scale=1.0)
    plt.boxplot(data,sym='o',whis=1.5)#sym 异常的点的形状 whis 虚线的长度
    plt.show()
    data = np.random.normal(size=(100, 4), loc=0.0, scale=1.0)
    labels = ['A','B','C','D']
    plt.boxplot(data, labels=labels)
    plt.show()
    
    

    颜色和样式

    颜色

    1.八种内建默认颜色缩写
    b:blue
    g:green
    r:red
    c:cyan 青色
    m:magenta 紫色
    y:yellow
    k:black
    w:white
    2.其他颜色表示方法:
    灰色阴影
    html十六进制
    RGB元组

    #调整颜色
    y=np.arange(1,5)
    plt.plot(y,'y');
    plt.plot(y+1,color=(0.1,0.2,0.3));
    plt.plot(y+2,'#FF00FF');
    plt.plot(y+3,color='0.5')#灰度
    
    plt.show()
    

    点,线的样式

    #线型
    
    y=np.arange(1,5)
    plt.plot(y,'--');
    plt.plot(y+1,'-.');
    plt.plot(y+2,':');
    
    plt.show()
    '''
    #点形状
    '''
    y=np.arange(1,5)
    plt.plot(y,'o');
    plt.plot(y+1,'D');
    plt.plot(y+2,'^');
    plt.plot(y+3,'s');
    plt.plot(y+4,'p');
    plt.plot(y+5,'x');
    
    plt.show()
    

    样式字符串

    可以将颜色,点型,线型写成一个字符串,如:
    cx–
    mo:
    kp:

    y=np.arange(1,5)
    plt.plot(y,'cx--');
    plt.plot(y+1,'kp:');
    plt.plot(y+2,'mo-.');
    
    plt.show()
    
    

    面向对象VS Matlab Sytle

    pyplot :经典高层封装,到目前为止,我们所用的都是pyplot
    pylab: 将Matplotlib 和 NumPy 合并的模块,模拟Matlab的编程环境
    面向对象的方式:Matplotlib的精髓,更基础和底层的方式
    三种方式优劣:
    pyplot :简单易用。交互使用时方便,可以根据命令实时作图。但底层定制能力不足。
    pylab: 完全封装,环境最接近Matlab。不推荐使用。
    面向对象(Object-Oriented)的方式:接近Matplotlib基础和底层的方式。难度稍大。但定制能力强。而且是Matplotlib的精髓。
    总结:实战中推荐,根据需求,综合使用 pyplot和OO的方式,显示导入numpy
    常用模块导入代码:
    import matplotlib.pyplot as plt
    import numpy as np

    #pyplot
    import matplotlib.pyplot as plt
    import numpy as np
    x=np.arange(0,10,1)
    y=np.random.randn(len(x))
    plt.plot(x,y)
    plt.title('pyplot')
    plt.show()
    
    
    #pylab
    from pylab import *
    x=arange(0,10,1)
    y=randn(len(x))
    plot(x,y)
    title('random numbers')
    show()
    
    
    #Object Oriented
    import matplotlib.pyplot as plt
    import numpy as np
    x=np.arange(0,10,1)
    y=np.random.randn(len(x))
    fig=plt.figure()
    ax=fig.add_subplot(111)
    l,=plt.plot(x,y)
    t=ax.set_title('object oriented')
    plt.show()
    
    

    子图

    Matplotlib对象简介

    FigureCanvas
    Figure
    Axes

    实例

    fig=plt.figure()
    Figure实例
    可以添加Axes实例
    ax=fig.add_subplot(111)
    返回Axes实例
    参数一,子图总行数
    参数二,子图总列数
    参数三,子图位置
    在Figure上添加Axes的常用方法

    import matplotlib.pyplot as plt
    import numpy as np
    
    x=np.arange(1,100)
    
    plt.subplot(221)
    plt.plot(x,x)
    
    plt.subplot(222)
    plt.plot(x,-x)
    
    plt.subplot(223)
    plt.plot(x,x*x)
    
    plt.subplot(224)
    plt.plot(x,np.log(x))
    
    plt.show()
    

    多图

    可以创建多个Figure

    import matplotlib.pyplot as plt
    
    fig1=plt.figure()
    
    ax1=fig1.add_subplot(111)
    
    ax1.plot([1,2,3],[3,2,1])
    
    fig2=plt.figure()
    
    ax2=fig2.add_subplot(111)
    
    ax2.plot([1,2,3],[1,2,3])
    
    plt.show()
    

    网格

    import numpy as np
    import matplotlib.pyplot as plt
    y=np.arange(1,5)
    plt.plot(y,y*2)
    plt.grid(True)
    plt.show()
    
    #交互中打开关闭网格
    plt.grid()
    import numpy as np
    import matplotlib.pyplot as plt
    y=np.arange(1,5)
    plt.plot(y,y*2)
    plt.grid(True,color='g',linestyle='-',linewidth='2')
    plt.show()
    
    
    #Object Oriented
    import matplotlib.pyplot as plt
    import numpy as np
    x=np.arange(0,10,1)
    y=np.random.randn(len(x))
    fig=plt.figure()
    ax=fig.add_subplot(111)
    l,=plt.plot(x,y)
    ax.grid(color='g')
    plt.show()
    
    

    图例

    import matplotlib.pyplot as plt
    import numpy as np
    x=np.arange(1,11,1)
    y=x*x
    plt.plot(x,x*2,label='Normal')
    plt.plot(x,x*3,label='Fast')
    plt.plot(x,x*4,label='Faster')
    plt.legend(loc=3,ncol=2)#loc,ncol指定位置和列
    plt.show()
    
    
    #方式2
    plt.plot(x,x*2)
    plt.plot(x,x*3)
    plt.plot(x,x*4)
    plt.legend(['Normal','Fast','Faster'])
    
    plt.show()
    
    
    #OO
    import matplotlib.pyplot as plt
    import numpy as np
    x=np.arange(0,10,1)
    y=np.random.randn(len(x))
    fig=plt.figure()
    ax=fig.add_subplot(111)
    l,=plt.plot(x,y)
    
    ax.legend(['ax legend'])
    
    line, =ax.plot(x,y,label='Inline label')
    
    line.set_label('label via method')
    
    ax.legend()
    
    plt.show()
    
    
    
    

    坐标轴

    坐标轴范围

    plt.axis()–输出(横坐标最小值,横坐标最大值,纵坐标最小值,纵坐标最大值)
    可通过plt.axis([-5,5,20,60])调整
    或者通过plt.xlim([-10,10])
    plt.ylim([0,60])
    plt.xlim(xmin=-5)

    坐标轴刻度

    import matplotlib.pyplot as plt
    import numpy as np
    import datetime
    x=np.arange(1,11,1)
    ax=plt.plot(x,x)
    ax=plt.gca()
    
    ax.locator_params(nbins=20)#坐标轴有多少格
    #ax.locator_params('x',nbins=20)#指定调整x轴
    
    start=datetime.datetime(2015,1,1)
    stop=datetime.datetime(2016,1,1)
    delta=datetime.timedelta(days=1)
    dates=mpl.dates.drange(start,stop,delta)
    y=np.random.rand(len(dates))
    ax=plt.gca()
    ax.plot_date(dates,y,linestyle='-',marker='')
    plt.show()
    date_format=mpl.dates.DateFromatter('%Y-%m-%d')
    ax.xaxis.set_major_formatter(date_format)
    fig.autofmt_xdate()
    plt.show()
    

    添加坐标轴

    plt.twinx() 默认0-1
    plt.twiny() 共享y 轴

    展开全文
  • 文章目录matplotlib常用统计图散点图条形图横着的条形图多次条形图直方图能绘制直方图吗只能绘制条形图直方图更多应用场景更多的绘图工具了解matplotlib常见问题总结matplotlib使用的流程总结matplotlib更多的图形...

    matplotlib常用统计图

    散点图

    假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温和随时间(天)变化的某种规律?

    a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]

    b =[26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]

    数据来源: http://lishi.tianqi.com/beijing/index.html

    from matplotlib import pyplot as plt
    from matplotlib import font_manager
    
    # 字体
    my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/STZHONGS.TTF")
    
    y_3 = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
    y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
    
    
    x_3=range(1,32)
    x_10=range(51,82)
    
    # 设置图形大小
    plt.figure(figsize=(20,8),dpi=80)
    
    # 使用scatter方法绘制散点图,和之前绘制折线图的唯一区别
    plt.scatter(x_3,y_3,label="3月份")
    plt.scatter(x_10,y_10,label="10月份")
    
    # 调整x轴的刻度
    _x = list(x_3)+list(x_10)
    _xtick_lables = ["3月{}日".format(i) for i in x_3]
    _xtick_lables += ["10月{}日".format(i) for i in x_10]
    plt.xticks(_x,_xtick_lables,fontproperties=my_font,rotation=75)#rotation是倾斜角度
    
    # 添加图例
    plt.legend(loc="upper left",prop=my_font)
    
    #添加描述信息
    plt.xlabel("时间",fontproperties=my_font)
    plt.ylabel("温度",fontproperties=my_font)
    plt.title("时间温度表",fontproperties=my_font)
    plt.show()
    
    

    在这里插入图片描述

    条形图

    假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据?

    a = [“战狼2”,“速度与激情8”,“功夫瑜伽”,“西游伏妖篇”,“变形金刚5:最后的骑士”,“摔跤吧!爸爸”,“加勒比海盗5:死无对证”,“金刚:骷髅岛”,“极限特工:终极回归”,“生化危机6:终章”,“乘风破浪”,“神偷奶爸3”,“智取威虎山”,“大闹天竺”,“金刚狼3:殊死一战”,“蜘蛛侠:英雄归来”,“悟空传”,“银河护卫队2”,“情圣”,“新木乃伊”,]

    b=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23] 单位:亿

    数据来源: http://58921.com/alltime/2017

    #导入包
    from matplotlib import pyplot as plt
    from matplotlib import font_manager
    
    #导入字体
    my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/STZHONGS.TTF")
    
    #导入数据
    #对于较长的,加上\n可以实现换行
    a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5\n:最后的骑士","摔跤吧!爸爸","加勒比海盗5:\n死无对证","金刚:骷髅岛","极限特工:\n终极回归","生化危机6:\n终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:\n殊死一战","蜘蛛侠\n:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊",]
    
    b=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23] #单位:亿
    
    #设置图像大小
    plt.figure(figsize=(20,8))
    
    #绘制条形图,调整宽度
    plt.bar(range(len(a)),b,width=0.3)
    
    #数字对应字符串
    plt.xticks(range(len(a)),a,fontproperties=my_font,rotation=75)
    
    #保存图像到当前目录下并命名为movie.png
    plt.savefig("./movie.png")
    
    plt.show()
    

    在这里插入图片描述
    但是不太好看,我们尝试画横着的

    横着的条形图

    #导入包
    from matplotlib import pyplot as plt
    from matplotlib import font_manager
    
    #导入字体
    my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/STZHONGS.TTF")
    
    #导入数据
    #对于较长的,加上\n可以实现换行
    a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5\n:最后的骑士","摔跤吧!爸爸","加勒比海盗5:\n死无对证","金刚:骷髅岛","极限特工:\n终极回归","生化危机6:\n终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:\n殊死一战","蜘蛛侠\n:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊",]
    
    b=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23] #单位:亿
    
    #设置图像大小
    plt.figure(figsize=(20,8))
    
    #绘制横着的条形图,调整宽度!!!!注意width改为height要传两个值,具体可以看源代码
    #改颜色
    plt.barh(range(len(a)),b,height=0.3,color="hotpink")
    
    #数字对应字符串,这里改成yticks,旋转角度也改一下
    plt.yticks(range(len(a)),a,fontproperties=my_font,rotation=0)
    
    # 绘制网格
    plt.grid(alpha=0.3)
    
    #保存图像到当前目录下并命名为movie2.png
    plt.savefig("./movie2.png")
    
    plt.show()
    

    在这里插入图片描述

    多次条形图

    假设你知道了列表a中电影分别在2017-09-14(b_14), 2017-09-15(b_15), 2017-09-16(b_16)三天的票房,为了展示列表中电影本身的票房以及同其他电影的数据对比情况,应该如何更加直观的呈现该数据?

    a = [“猩球崛起3:终极之战”,“敦刻尔克”,“蜘蛛侠:英雄归来”,“战狼2”]

    b_16 = [15746,312,4497,319]

    b_15 = [12357,156,2045,168]

    b_14 = [2358,399,2358,362]

    数据来源: http://www.cbooo.cn/movieday

    #导入包
    from matplotlib import pyplot as plt
    from matplotlib import font_manager
    
    #导入字体
    my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/STZHONGS.TTF")
    
    #导入数据
    #对于较长的,加上\n可以实现换行
    a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
    b_16 = [15746,312,4497,319]
    b_15 = [12357,156,2045,168]
    b_14 = [2358,399,2358,362]
    
    # 条形图宽度,调整到合适的
    bar_width = 0.2
    
    # 不同刻度的x
    x_14 = list(range(len(a)))
    x_15 = [i+bar_width for i in x_14]
    x_16 = [i+bar_width*2 for i in x_14]
    
    #设置图像大小
    plt.figure(figsize=(20,8))
    
    #绘制横着的条形图,调整宽度!!!!注意width改为height要传两个值,具体可以看源代码
    #改颜色
    #设置标签
    plt.bar(range(len(a)),b_14,width=bar_width,color="hotpink",label="9月14日")
    plt.bar(x_15,b_15,width=bar_width,color="green",label="9月15日")
    plt.bar(x_16,b_16,width=bar_width,color="blue",label="9月16日")
    
    #设置刻度
    plt.xticks(x_15,a,fontproperties=my_font,rotation=0)
    
    #设置图例
    plt.legend(prop=my_font)
    
    #保存图像到当前目录下并命名为movie2.png
    plt.savefig("./movie2.png")
    
    plt.show()
    

    在这里插入图片描述

    直方图

    假设你获取了250部电影的时长(列表a中),希望统计出这些电影时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据?

    a=[131, 98, 125, 131, 124, 139, 131, 117, 128, 108,
    135, 138, 131,
    102, 107, 114, 119, 128, 121, 142,
    127, 130, 124, 101, 110, 116,
    117, 110, 128, 128, 115, 99, 136, 126, 134, 95, 138, 117, 111,78, 132, 124, 113, 150, 110,
    117, 86,
    95, 144, 105, 126, 130,126, 130, 126, 116, 123, 106, 112,
    138, 123, 86, 101, 99, 136,123, 117, 119, 105, 137, 123, 128,
    125, 104, 109, 134, 125, 127,105, 120, 107, 129, 116, 108, 132,
    103, 136, 118, 102, 120, 114,105, 115, 132, 145, 119, 121, 112,
    139, 125, 138, 109, 132, 134,156, 106, 117, 127, 144, 139, 139,
    119, 140, 83, 110, 102,123,107, 143, 115, 136, 118, 139, 123,
    112, 118, 125, 109, 119, 133,112, 114, 122, 109, 106, 123, 116,
    131, 127, 115, 118, 112, 135,115, 146, 137, 116, 103, 144, 83, 123, 111, 110, 111, 100, 154,136, 100, 118, 119, 133, 134, 106,
    129, 126, 110, 111, 109, 141,120, 117, 106, 149, 122, 122, 110,
    118, 127, 121, 114, 125, 126,114, 140, 103, 130, 141, 117, 106,
    114, 121, 114, 133, 137, 92,121, 112, 146, 97, 137, 105,
    98, 117, 112, 81, 97, 139, 113,134, 106, 144, 110, 137, 137, 111,
    104, 117, 100, 111, 101, 110,105, 129, 137, 112, 120, 113, 133,
    112, 83,
    94, 146, 133, 101,131, 116, 111, 84, 137, 115, 122, 106, 144, 109, 123, 116, 111,111, 133, 150]

    把数据分为多少组进行统计???

    组数要适当,太少会有较大的统计误差,大多规律不明显

    在这里插入图片描述

    #导入包
    from matplotlib import pyplot as plt
    from matplotlib import font_manager
    
    #数据列表
    a=[131,  98, 125, 131, 124, 139, 131, 117, 128, 108,135, 138, 131,102, 107, 114, 119, 128, 121, 142,127, 130, 124, 101, 110, 116,117, 110, 128, 128, 115,  99, 136, 126, 134,  95, 138, 117, 111,78, 132, 124, 113, 150, 110,117,  86, 95, 144, 105, 126, 130,126, 130, 126, 116, 123, 106, 112,138, 123,  86, 101,  99, 136,123, 117, 119, 105, 137, 123, 128,125, 104, 109, 134, 125, 127,105, 120, 107, 129, 116, 108, 132,103, 136, 118, 102, 120, 114,105, 115, 132, 145, 119, 121, 112,139, 125, 138, 109, 132, 134,156, 106, 117, 127, 144, 139, 139,119, 140,  83, 110, 102,123,107, 143, 115, 136, 118, 139, 123,112, 118, 125, 109, 119, 133,112, 114, 122, 109, 106, 123, 116,131, 127, 115, 118, 112, 135,115, 146, 137, 116, 103, 144,  83, 123, 111, 110, 111, 100, 154,136, 100, 118, 119, 133, 134, 106,129, 126, 110, 111, 109, 141,120, 117, 106, 149, 122, 122, 110,118, 127, 121, 114, 125, 126,114, 140, 103, 130, 141, 117, 106,114, 121, 114, 133, 137,  92,121, 112, 146,  97, 137, 105, 98, 117, 112,  81,  97, 139, 113,134, 106, 144, 110, 137, 137, 111,104, 117, 100, 111, 101, 110,105, 129, 137, 112, 120, 113, 133,112,  83, 94, 146, 133, 101,131, 116, 111,  84, 137, 115, 122, 106, 144, 109, 123, 116, 111,111, 133, 150]
    
    #计算组数:组数 = 极差/组距
    
    #组距
    d = 3 #可以调节
    #极差
    max(a)-min(a)
    #组数
    num_bins = (max(a)-min(a))//d
    
    #设置图像大小
    plt.figure(figsize=(20,8),dpi=80)
    #画直方图,分组
    plt.hist(a,num_bins)
    
    #设置x轴的刻度
    plt.xticks(range(min(a),max(a)+d,d))
    
    #设置网格
    plt.grid()
    
    plt.show()
    
    

    在这里插入图片描述

    能绘制直方图吗

    在美国2004年人口普查发现有124 million的人在离家相对较远的地方工作。根据他们从家到上班地点所需要的时间,通过抽样统计(最后一列)出了下表的数据,这些数据能够绘制成直方图么?
    interval = [0,5,10,15,20,25,30,35,40,45,60,90]

    width = [5,5,5,5,5,5,5,5,5,15,30,60]

    quantity = [836,2737,3723,3926,3596,1438,3273,642,824,613,215,47]
    数据来源

    普查报告地址
    在这里插入图片描述
    这个表示统计过的数据了,不能绘制直方图~~~~~~~~需要绘制的是条形图

    没有统计过的数据—>绘制条形图

    只能绘制条形图

    #导入包
    from matplotlib import pyplot as plt
    from matplotlib import font_manager
    
    #数据列表
    # 间隔interval = [0,5,10,15,20,25,30,35,40,45,60,90]
    # 组距width = [5,5,5,5,5,5,5,5,5,15,30,60]
    # 数量quantity = [836,2737,3723,3926,3596,1438,3273,642,824,613,215,47]
    
    interval = [0,5,10,15,20,25,30,35,40,45,60,90]
    width = [5,5,5,5,5,5,5,5,5,15,30,60]#宽度不一样
    quantity = [836,2737,3723,3926,3596,1438,3273,642,824,613,215,47]
    
    print(len(interval),len(width),len(quantity))#长度一样没问题
    
    
    #设置图像大小
    plt.figure(figsize=(20,8),dpi=80)
    
    
    
    #绘制条形图
    plt.bar(range(len(quantity)),quantity,width=1)
    
    #设置x轴的刻度
    _x = [i-0.5 for i in range(13)]
    _xtick_labels = interval+[150]
    plt.xticks(_x,_xtick_labels)
    
    plt.grid(alpha=0.4)
    plt.show()
    
    

    在这里插入图片描述
    前面的问题问的是什么呢?
    问的是:哪些数据能够绘制直方图

    前面的问题中给出的数据都是统计之后的数据,
    所以为了达到直方图的效果,需要绘制条形图

    所以:一般来说能够使用plt.hist方法的的是那些没有统计过的数据

    直方图更多应用场景

    • 用户的年龄分布状态

    • 一段时间内用户点击次数的分布状态

    • 用户活跃时间的分布状态

    更多的绘图工具了解

    matplotlib常见问题总结

    1.应该选择那种图形来呈现数据

    2.matplotlib.plot(x,y)

    3.matplotlib.bar(x,y)

    4.matplotlib.scatter(x,y)

    5.matplotlib.hist(data,bins,normed)

    6.xticks和yticks的设置

    7.label和titile,grid的设置

    8.绘图的大小和保存图片

    matplotlib使用的流程总结

    1.明确问题

    2.选择图形的呈现方式

    3.准备数据

    4.绘图和图形完善

    matplotlib更多的图形样式

    matplotlib支持的图形是非常多的,如果有其他的需求,我们

    可以查看一下url地址:

    http://matplotlib.org/gallery/index.html
    我们在工作中,为了更好看,一般不用matplotlib,会使用前端来画图哦!

    前端数据展示

    echartsjs是一个很好用的网站
    在这里插入图片描述

    展开全文
  • 作为标题,当使用“fivethirtyeight”等样式时,如何将网格线移到后面?在我试过了Axis.set_axisbelow(True)和{},但都不管用。在正如你所见,网格线位于图例的顶部,这使得它很难阅读。在代码如下所示:import ...
  • 主要介绍了python使用matplotlib绘制柱状图的方法教程,其中实现的柱状图效果包括基本的柱状图、堆叠柱状图、并列柱状图、条形图以及柱状图的各种样式设置,需要的朋友可以参考借鉴,下面来一起看看吧。
  • Matplotlib

    2020-07-21 00:35:35
    文章目录matplotlib概述matplotlib基本功能matplotlib基本功能详解基本绘图...条形图(柱状图)饼图等高线图热成像图极坐标系3D图像绘制简单动画附录matplotlib colors颜色字符串matplotlib point样式laTeX语法表示数学...
  • matplotlib

    2020-03-25 20:28:30
    通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 通过学习Matplotlib,可让数据可视化,更直观的真实给用户。使数据更加客观、更具有说服力。 Matplotlib...
  • Matolotlib是最流行的...Matplotlib的基本要点:Matplolib常用的图形有这几种形式,折线图,散点图,条形图,直方图。主要掌握如何设置图片的大小,保存到本地,设置图例,描述信息,调整间距,线条的样式。图的创...
  • 上两篇讲了matplotlib绘图的基本用法,但是其实很多时候在公司做的是web项目,web项目一般数据可视化会用到Echarts.js,非常主流,下面讲解下echarts的基本用法首先看条形图,颜色什么的额都可以改主要看js部分代码...
  • x 轴或者 y 轴上的刻度设置中文显示散点图条形图单个条形图绘制多个条形图绘制绘制直方图Matplotlib 拓展知识Matplotlib 常见问题总结Matplotlib 使用的流程总结Matplotlib 更多绘图样式 Matplotlib 什么是 ...
  • Matplotlib基础

    2020-09-13 14:22:23
    条形图4.直方图5.饼状图6.箱形图7.颜色和样式8.面向对象与Matlab Style9.子图-subplot10.多图11.网格12.图例13.坐标轴范围14.坐标轴刻度15.添加坐标轴 Matplotlib基础 Matplotlib 是 Python 的绘图库。 它可与 NumPy...
  • Matolotlib是最流行的...Matplotlib的基本要点:Matplolib常用的图形有这几种形式,折线图,散点图,条形图,直方图。主要掌握如何设置图片的大小,保存到本地,设置图例,描述信息,调整间距,线条的样式。图的创...
  • Matplotlib编程

    2021-03-22 10:16:35
    Matplotlib编程0.简介1.安装测试1.1安装1.2测试2.常用API3....通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等 1.安装测试 1.1安装 pip install
  • 数据科学库——matplotlibmatplotlib为什么学习matplotlib基础绘图绘制散点图绘制条形图绘制直方图matplotlib使用流程matplotlib更多图形样式 matplotlib 为什么学习matplotlib 能将数据进行可视化,更直观的呈现 使...
  • 目录一、对Matplotlib图形结构的认识二、Matplotlib绘图设置主要方法1、Matplotlib绘制普通折线(1) 设置折现颜色、形状、折点样式(2) 设置图片大小并保存(3) 绘制x轴和y轴的刻度(4) 中文正常显示设置(5) 一多线...
  • Matplotlib快速应用

    2018-04-21 22:41:40
    条形图 直方图 饼状图 箱形图 颜色和样式 编程方式 子图subplot 多图 网格 图例 坐标轴范围 坐标轴刻度 添加坐标轴 注释 画文字 区域填充 形状 美化-样式 极坐标 matplotlib中文显示问题 练习项目一:函数积分图 ...
  • 条形图 ''' import matplotlib.pyplot as plt #使用ggplot样式来模拟ggplot2风格的图形,ggplot2是一个常用的R语言绘图包 plt.style.use('ggplot') customers = ['ABC','DEF','GHI','JKL','MNO'] custo...
  • 它支持各种各样的图形和图形 - 即直方图,条形图,功率谱,误差图等 它与NumPy一起使用,为MatLab提供了一个有效的开源替代方案。 它也可以用于像PyQt和wxPython这样的图形工具包。通常,通过添加...
  • 1、先导入相关包:from matplotlib import pyplot as plt 或者import matplotlib.pyplot as plt; 2、传入相关x,y的值,使用plot(x,y)来绘制折线;在这一步可以设置具体细节的值,比如线条样式、宽度、颜色、透明度...
  • matplotlib查漏补缺

    2021-02-08 15:52:50
    contents常用参数常用图画多列的条形图层叠图有重点的饼图坐标为时间的图颜色和样式用面向对象的方式画子图生成多张图网格图例坐标轴坐标轴范围调整坐标轴刻度调整日期坐标轴调整添加新坐标画箭头注释纯文字注释tex...
  • 目录matplotlib的绘图方式1、使用pylab方式2、pyplot方式3、面向对象的方式基本图形绘制1、散点图绘制2、折线图3、条形图4、直方图5、饼状图6、箱型图7、热力图8、极坐标样式设置1、子图和多图2、网格3、图例4、坐标...
  • matplotlib.pyplot超详细入门总结

    千次阅读 多人点赞 2020-03-10 11:48:44
    目录 pyplot简介 ...绘制条形图 对数轴和其他非线性轴 pyplot简介 matplotlib.pyplot是使matplotlib像MATLAB一样工作的命令样式函数的集合。每个pyplot功能都会对图形进行一些更改:例如,创建图形,...
  • 条形图 堆叠条形图 直方图 颜色和样式字符串 饼状图 画多个图 画网格 线的形状 图例 坐标轴 画注释 文字 画数学公式 区域填充 形状 样式美化 ...
  • 文章目录Matplotlib说明基本图形类型折线图散点图饼图条形图直方图箱线图等高线图参数设置坐标轴含义坐标轴刻度图例设置线条样式,标记点字体样式,大小图片大小标题保存图片多张图 Matplotlib api地址:...
  • 半小时拿下Python数据处理之Matplotlibmatplotlib三种代码风格pyplotpylabObject Oriented子图多图散点图(scatter)条形图 (bar)直方图(hist)饼状图(pie)箱型图(boxplot)颜色与样式颜色样式网格(grid)...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

matplotlib条形图样式