精华内容
下载资源
问答
  • matplotlib绘图样式(style)初探

    万次阅读 2021-01-03 10:20:45
    Styles are predefined sets ...Customizing Matplotlib with style sheets and rcParams describes the mechanism and usage of styles. The Style sheets reference gives an overview of the builtin styles. matpl

    样式是定义图表可视化外观的配置,它由一组预置的rcParams参数构成。matplotlib预置了一系列样式风格,可直接使用。

    样式使用方法

    样式相关模块为style

    1. 显示本机可用样式

    matplotlib.style.available返回本机可用样式的列表。
    列表只读,样式更新后,需要使用reload_library()重新加载样式。

    In [1]: import matplotlib.style as style
    In [2]: style.available
    Out[2]:
    ['Solarize_Light2',
     '_classic_test_patch',
     'bmh',
     'classic',
     'dark_background',
     'fast',
     'fivethirtyeight',
     'ggplot',
     'grayscale',
     'seaborn',
     'seaborn-bright',
     'seaborn-colorblind',
     'seaborn-dark',
     'seaborn-dark-palette',
     'seaborn-darkgrid',
     'seaborn-deep',
     'seaborn-muted',
     'seaborn-notebook',
     'seaborn-paper',
     'seaborn-pastel',
     'seaborn-poster',
     'seaborn-talk',
     'seaborn-ticks',
     'seaborn-white',
     'seaborn-whitegrid',
     'tableau-colorblind10']
    

    2. 显示样式详细设置

    matplotlib.style.library以字典的形式返回所有样式的定义,字典键为样式名称,键为定义样式的 RcParams对象。
    字典对象也是只读的,更新样式后,需要使用reload_library()重新加载样式。

    In [6]: style.library['fast']
    Out[6]:
    RcParams({'agg.path.chunksize': 10000,
              'path.simplify': True,
              'path.simplify_threshold': 1.0})
    

    3. 重新加载样式

    matplotlib.style.reload_library()重新加载样式。

    4. 使用样式

    matplotlib.style.use(style)matplotlib的绘图样式设置为某种样式。
    使用default样式可以将样式为恢复到默认样式。
    该函数只会更新style中定义的rcParams配置,其余rcParams配置保持不变。
    参数style有四种取值:

    • str:样式名称或者样式文件的路径/url。通过style.available查看可用的样式名称。
    • dict:以rcParams配置项和值为键值对的字典。
    • Path:指向样式文件的Path对象。
    • list:样式支持组合使用,将多个样式配置配置放置在列表中,matplotlib将逐个执行列表中每个元素的配置,元素可以为strPath或者dict,列表右边的元素会覆盖前面元素的配置。
    import matplotlib.pyplot as plt
    plt.bar([1,2,3],[1,2,3])
    plt.show()
    

    在这里插入图片描述

    import matplotlib.pyplot as plt
    plt.style.use('ggplot')
    plt.bar([1,2,3],[1,2,3])
    plt.show()
    

    在这里插入图片描述

    import matplotlib.pyplot as plt
    plt.style.use(['ggplot','dark_background'])
    plt.bar([1,2,3],[1,2,3])
    plt.show()
    

    在这里插入图片描述

    import matplotlib.pyplot as plt
    plt.subplot(221)
    plt.bar([1,2,3],[1,2,3])
    plt.style.use('ggplot')
    plt.subplot(222)
    plt.bar([1,2,3],[1,2,3])
    plt.style.use('grayscale')
    plt.subplot(223)
    plt.bar([1,2,3],[1,2,3])
    plt.style.use(['ggplot','grayscale'])
    plt.subplot(224)
    plt.bar([1,2,3],[1,2,3])
    plt.show()
    

    样式样例

    参见https://matplotlib.org/gallery/style_sheets/style_sheets_reference.html

    自定义样式

    https://matplotlib.org/tutorials/introductory/customizing.html

    展开全文
  • 一、matplotlib绘图样式(style) 在matplotlib中,要想设置绘制样式,最简单的方法是在绘制元素时单独设置样式。如果想保持整体风格的统一而不用对每张图一张张修改,matplotlib库还提供了四种批量修改全局样式...

    一、matplotlib的绘图样式(style)

    在matplotlib中,要想设置绘制样式,最简单的方法是在绘制元素时单独设置样式。如果想保持整体风格的统一而不用对每张图一张张修改,matplotlib库还提供了四种批量修改全局样式的方式。

    1.matplotlib预先定义样式

    matplotlib贴提供了许多内置的样式供用户使用,使用方法很简单,只需在python脚本的最开始输入想使用style的名称即可调用,尝试调用不同内置样式。

    2.用户自定义stylesheet

    在任意路径下创建一个后缀名为mplstyle的样式清单,编辑文件添加以下样式内容。值得特别注意的是,matplotlib支持混合样式的引用,只需在引用时输入一个样式列表,若是几个样式中涉及到同一个参数,右边的样式表会覆盖左边的值。

    3.设置rcparams

    通过修改默认rc设置的方式改变样式,所有rc设置都保存在一个叫做 matplotlib.rcParams的变量中。修改过后再绘图,可以看到绘图样式发生了变化。另外matplotlib也还提供了了一种更便捷的修改样式方式,可以一次性修改多个样式。

    4.修改matplotlibrc文件

    由于matplotlib是使用matplotlibrc文件来控制样式的,也就是上一节提到的rc setting,所以还可以通过修改matplotlibrc文件的方式改变样式。

     

    二、在matplotlib中,设置颜色有以下几种方式:

    1.RGB或RGBA

    2.HEX RGB 或 RGBA

    3.灰度色阶

    4.单字符基本颜色

    5.颜色名称

    6.使用colormap设置一组颜色

    有些图表支持使用colormap的方式配置一组颜色,从而在可视化中通过色彩的变化表达更多信息。

    在matplotlib中,colormap共有五种类型:

    • 顺序(Sequential)。通常使用单一色调,逐渐改变亮度和颜色渐渐增加,用于表示有顺序的信息
    • 发散(Diverging)。改变两种不同颜色的亮度和饱和度,这些颜色在中间以不饱和的颜色相遇;当绘制的信息具有关键中间值(例如地形)或数据偏离零时,应使用此值。
    • 循环(Cyclic)。改变两种不同颜色的亮度,在中间和开始/结束时以不饱和的颜色相遇。用于在端点处环绕的值,例如相角,风向或一天中的时间。
    • 定性(Qualitative)。常是杂色,用来表示没有排序或关系的信息。
    • 杂色(Miscellaneous)。一些在特定场景使用的杂色组合,如彩虹,海洋,地形等。

    官方文档链接:https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html

     

    展开全文
  • 3,4,5],[1,4,9,16,25],'-.',color = 'r') # 可以把样式和颜色写一块: plt.plot(range(100), [x**2 for x in range(100)], 'r:') linestyle属性的取值: 字符 类型 ’ - ’ 实线 ’ – ’ 虚线 ’ -. ’ 虚点线 ’ :...

    常用的线条类型:

    字符 类型
    ‘ - ’ 实线
    ’ -. ’ 虚点线
    ’ . ’
    ’ o ’ 圆点
    ’ ^ ’ 上三角形
    ’ > ’ 右三角形
    ’ 2 ’ 上三叉点
    ’ 4 ’ 右三叉点
    ’ p ’ 五角点
    ‘h’ 六边形点
    ’ + ’ 加号点
    ’ D ’ 实习菱形点
    ’ _ ’ 横线点
    ’ __ ’ 虚线
    ’ : ’ 点线
    ’ , ’ 像素点
    ’ v ’ 下三角形
    ’ < ’ 左三角形
    ’ 1 ’ 下三叉点
    ’ 3 ’ 左三叉点
    ’ s ’ 正方点
    ’ * ’ 星型点
    ’ H ’ 六边形点2
    ’ x ’ 乘号点
    ’ d ’ 瘦菱形点

    常用的颜色缩写:

    字符 颜色 英文全称
    ‘b’ 蓝色 blue
    ‘g’ 绿色 green
    ’ r ’ 红色 red
    ’ c ’ 青色 cyan
    ’ m ’ 品红 magenta
    ’ y ’ 黄色 yellow
    ’ k ’ 黑色 black
    ’ w ’ 白色 white

    使用示例:

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.plot([1,2,3,4,5],[1,4,9,16,25],'-.',color = 'r')
    # 可以把样式和颜色写一块:
    plt.plot(range(100), [x**2 for x in range(100)], 'r:')
    
    
    

    linestyle属性的取值:

    字符 类型
    ’ - ’ 实线
    ’ – ’ 虚线
    ’ -. ’ 虚点线
    ’ : ’ 点线

    使用示例:

    import numpy as np
    import matplotlib.pyplot as plt
    %matplotlib inline
    x = np.linspace(-10,10) # 在[-10,10]之间取等距的20个数
    y = np.sin(x)
    # 设置线条宽度
    plt.plot(x,y,linewidth = 3.0)
    # 指定不同参数来绘图
    # 标记取得的x的值,并指定颜色宽度
    plt.plot(x,y,color = 'b', linestyle = ':', marker = 'o', markerfacecolor = 'r', markersize = 10) 
    line = plt.plot(x,y)
    # alpha 表示透明程度
    plt.setp(line,color = 'r', linewidth = 2.0, alpha = 0.4)
    
    
    
    展开全文
  • 一、matplotlib绘图样式(style) 1.matplotlib预先定义样式 2.用户自定义stylesheet 3.设置rcparams 4.修改matplotlibrc文件 二、matplotlib的色彩设置(color) 1.RGB或RGBA 2.HEX RGB 或 RGBA...

     

    登录/注册

    绘图样式与色彩设置目录

     

    一、matplotlib的绘图样式(style)

    matplotlib库提供了四种批量修改全局样式的方式, 而不用对每张图一张张修改

    1.matplotlib预先定义样式

    • matplotlib提供了许多内置的样式供用户使用,在python脚本的最开始输入想使用style的名称即可调用
    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    plt.style.use('default')
    plt.plot([1,2,3,4],[2,3,4,5])
    
    plt.style.use('Solarize_Light2')
    plt.plot([1,2,3,4],[2,3,4,5])
    

    很明显的看出, 两幅图的背景色不一样
    在这里插入图片描述

    • matplotlib总共内置了26种丰富的样式可供选择。
    print(plt.style.available)
    
    ['Solarize_Light2', '_classic_test_patch', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']
    

    2.用户自定义stylesheet

    • 在任意路径下创建一个后缀名为mplstyle的样式清单,编辑文件添加以下样式内容

    axes.titlesize : 24
    axes.labelsize : 20
    lines.linewidth : 3
    lines.markersize : 10
    xtick.labelsize : 16
    ytick.labelsize : 16

    • 引用自定义stylesheet
    plt.style.use('file/presentation.mplstyle')
    plt.plot([1,2,3,4],[2,3,4,5])
    
    plt.style.use(['dark_background', 'file/presentation.mplstyle'])
    plt.plot([1,2,3,4],[2,3,4,5])
    

    值得特别注意的是,matplotlib支持混合样式的引用,只需在引用时输入一个样式列表,若是几个样式中涉及到同一个参数,右边的样式表会覆盖左边的值。

    在这里插入图片描述

    3.设置rcparams

    • 可以通过修改默认rc设置的方式改变样式,所有rc设置都保存在一个叫做 matplotlib.rcParams的变量中。
      之前样式没有修改的图以及修改过后再绘的图,可以看到绘图样式发生了变化。
    plt.style.use('default') # 恢复到默认样式
    plt.plot([1,2,3,4],[2,3,4,5])
    

    在这里插入图片描述

    mpl.rcParams['lines.linewidth'] = 2
    mpl.rcParams['lines.linestyle'] = '--'
    plt.plot([1,2,3,4],[2,3,4,5])
    
    • 另外matplotlib也还提供了了一种更便捷的修改样式方式,可以一次性修改多个样式
    mpl.rc('lines', linewidth=4, linestyle='-.')
    plt.plot([1,2,3,4],[2,3,4,5])
    

    在这里插入图片描述

    4.修改matplotlibrc文件

    • 由于matplotlib是使用matplotlibrc文件来控制样式的,也就是rc setting,所以我们还可以通过修改matplotlibrc文件的方式改变样式。
    # 查找matplotlibrc文件的路径
    mpl.matplotlib_fname()  ## 'E:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'
    
    • 找到路径后,就可以直接编辑样式文件了,打开后看到的文件格式大致是这样的,文件中列举了所有的样式参数,找到想要修改的参数,比如lines.linewidth: 8,并将前面的注释符号去掉,此时再绘图发现样式以及生效了。
      在这里插入图片描述

    二、matplotlib的色彩设置(color)

    从可视化编码的角度对颜色进行分析,可以将颜色分为色相、亮度和饱和度三个视觉通道。
    通常来说: 色相:没有明显的顺序性、一般不用来表达数据量的高低,而是用来表达数据列的类别。 明度和饱和度:在视觉上很容易区分出优先级的高低、被用作表达顺序或者表达数据量视觉通道。

    具体关于色彩理论部分的知识, 请参阅有关拓展材料学习。
    ECharts数据可视化实验室
    学会这6个可视化配色基本技巧,还原数据本身的意义

    • 在matplotlib中,设置颜色有以下几种方式:

    1.RGB或RGBA

    plt.style.use('default')
    
    # 颜色用[0,1]之间的浮点数表示,四个分量按顺序分别为(red, green, blue, alpha),其中alpha透明度可省略
    plt.plot([1,2,3],[4,5,6],color=(0.1, 0.2, 0.5))
    plt.plot([4,5,6],[1,2,3],color=(0.1, 0.2, 0.5, 0.5))
    

    在这里插入图片描述

    2.HEX RGB 或 RGBA

    # 用十六进制颜色码表示,同样最后两位表示透明度,可省略
    plt.plot([1,2,3],[4,5,6],color='#0f0f0f')
    plt.plot([4,5,6],[1,2,3],color='#0f0f0f80')
    

    在这里插入图片描述

    3.灰度色阶

    # 当只有一个位于[0,1]的值时,表示灰度色阶
    plt.plot([1,2,3],[4,5,6],color='0.5')
    

    在这里插入图片描述

    4.单字符基本颜色

    # matplotlib有八个基本颜色,可以用单字符串来表示,分别是'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w',对应的是blue, green, red, cyan, magenta, yellow, black, and white的英文缩写
    plt.plot([1,2,3],[4,5,6],color='m')
    
    • 1
    • 2

    在这里插入图片描述

    5.颜色名称

    # matplotlib提供了颜色对照表,可供查询颜色对应的名称
    plt.plot([1,2,3],[4,5,6],color='tan')
    

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

    在这里插入图片描述

    6.使用colormap设置一组颜色

    • 在matplotlib中,colormap共有五种类型:

      • 顺序(Sequential)。通常使用单一色调,逐渐改变亮度和颜色渐渐增加,用于表示有顺序的信息
      • 发散(Diverging)。改变两种不同颜色的亮度和饱和度,这些颜色在中间以不饱和的颜色相遇;当绘制的信息具有关键中间值(例如地形)或数据偏离零时,应使用此值。
      • 循环(Cyclic)。改变两种不同颜色的亮度,在中间和开始/结束时以不饱和的颜色相遇。用于在端点处环绕的值,例如相角,风向或一天中的时间。
      • 定性(Qualitative)。常是杂色,用来表示没有排序或关系的信息。
      • 杂色(Miscellaneous)。一些在特定场景使用的杂色组合,如彩虹,海洋,地形等。
    x = np.random.randn(50)
    y = np.random.randn(50)
    plt.scatter(x,y,c=x,cmap='RdPu')
    

    在这里插入图片描述

    • 根据matplotlib官网,列举出Sequential,Diverging,Cyclic,Qualitative,Miscellaneous分别有哪些内置的colormap,并以代码绘图的形式展现出来
    import numpy as np
    import matplotlib.pyplot as plt
    
    
    cmaps = [('Perceptually Uniform Sequential', [
                'viridis', 'plasma', 'inferno', 'magma', 'cividis']),
             ('Sequential', [
                'Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds',
                'YlOrBr', 'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu',
                'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn', 'YlGn']),
             ('Sequential (2)', [
                'binary', 'gist_yarg', 'gist_gray', 'gray', 'bone', 'pink',
                'spring', 'summer', 'autumn', 'winter', 'cool', 'Wistia',
                'hot', 'afmhot', 'gist_heat', 'copper']),
             ('Diverging', [
                'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu',
                'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']),
             ('Cyclic', ['twilight', 'twilight_shifted', 'hsv']),
             ('Qualitative', [
                'Pastel1', 'Pastel2', 'Paired', 'Accent',
                'Dark2', 'Set1', 'Set2', 'Set3',
                'tab10', 'tab20', 'tab20b', 'tab20c']),
             ('Miscellaneous', [
                'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern',
                'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg',
                'gist_rainbow', 'rainbow', 'jet', 'turbo', 'nipy_spectral',
                'gist_ncar'])]
    
    
    gradient = np.linspace(0, 1, 256)
    gradient = np.vstack((gradient, gradient))
    
    
    def plot_color_gradients(cmap_category, cmap_list):
        # Create figure and adjust figure height to number of colormaps
        nrows = len(cmap_list)
        figh = 0.35 + 0.15 + (nrows + (nrows-1)*0.1)*0.22
        fig, axs = plt.subplots(nrows=nrows, figsize=(6.4, figh))
        fig.subplots_adjust(top=1-.35/figh, bottom=.15/figh, left=0.2, right=0.99)
    
        axs[0].set_title(cmap_category + ' colormaps', fontsize=14)
    
        for ax, name in zip(axs, cmap_list):
            ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name))
            ax.text(-.01, .5, name, va='center', ha='right', fontsize=10,
                    transform=ax.transAxes)
    
        # Turn off *all* ticks & spines, not just the ones with colormaps.
        for ax in axs:
            ax.set_axis_off()
    
    
    for cmap_category, cmap_list in cmaps:
        plot_color_gradients(cmap_category, cmap_list)
    
    plt.show()
    
    •  

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    参考:
    https://matplotlib.org/tutorials/colors/colormaps.html

    展开全文
  • matplotlib——绘图样式

    2020-12-24 23:31:02
    本文介绍如何一次性修改绘图的风格,而不用每绘制一张图都单独设置。随后介绍了绘图库中各种颜色的表达方式。此外,还大致的介绍了一些颜色的知识,最后引出了colormap的概念
  • Matplotlib 绘图秘籍

    千次阅读 2020-08-01 18:50:26
    Matplotlib 绘图秘籍 零、前言 一、第一步 二、自定义颜色和样式 三、处理标注 四、处理图形 五、文件输出 六、处理地图 七、处理 3D 图形 八、用户界面 贡献指南 本项目需要校对,欢迎大家提交 Pull Reques.
  • matplotlib绘图

    2019-11-18 15:35:16
    Matplotlib 2D绘图库,流行的python底层绘图库,制作可视化图表 制图过程: 设置图片大小 保存到本地 描述信息,X 和 Y轴表示 调整X,或 Y 的刻度距离 线条样式(颜色、透明度) 标记特殊点(最高、最低) 给图片加...
  • 使用样式表自定义绘图 style包为易于切换的绘图样式』增加了支持,它们与matplotlibrc文件参数相同。 他所包含的样式有:‘bmh’, ‘classic’, ‘dark_background’, ‘fast’, ‘fivethirtyeight’, ‘ggplot’,...
  • matplotlib绘图练习

    2020-05-12 11:58:22
    matplotlib绘图练习 按要求绘制:绘制一个大小为 8*4 的图;第一个图表:x 和 y,颜色是红色,线的粗细为 2(默认为 1);标签是 sin(x)第二个图像:x 和 z 的函数图像,颜色是绿色(g 代表的绿色),线条的样式是...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 380
精华内容 152
关键字:

matplotlib绘图样式