博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于matplotlib的数据可视化 - 柱状图bar
阅读量:6544 次
发布时间:2019-06-24

本文共 8159 字,大约阅读时间需要 27 分钟。

柱状图bar

柱状图常用表现形式为:

plt.bar(水平坐标数组,高度数组,宽度比例,ec=勾边色,c=填充色,label=图例标签)

注:当高度值为负数时,柱形向下

1 语法

bar(*args, **kwargs)

 Call signatures::

bar(x, height, *, align='center', **kwargs)

bar(x, height, width, *, align='center', **kwargs)
bar(x, height, width, bottom, *, align='center', **kwargs)

参数

x : sequence of scalars;bar的条形坐标

height : scalar or sequence of scalars;bar的高度

width : scalar or array-like, optional;bar的宽度,默认值0.8

bottom : scalar or array-like, optional;bar的 y 轴方向的基坐标

align : {'center', 'edge'}, optional, default: 'center',``align='edge'``.;与x坐标对其方式

    center - bar的每条形图中心位于X值位置

    edge - bar的每条形图的左边与X值对齐

    如果想实现右边界对齐,可以align = ‘edge’,同时将宽度设置为负数即可

color : scalar or array-like, optional;bar faces颜色

edgecolor : scalar or array-like, optional;bar edges颜色

linewidth : scalar or array-like, optional;bar边缘线宽,若为0,则不绘制边

tick_label : string or array-like, optional;bar的刻度标签,Default: None (Use default numeric labels.)

xerr, yerr : scalar or array-like of shape(N,) or shape(2,N), optional;若非None,则在bar端面处添加水平或垂直误差条,其值为+/- sizes的相对误差,如下图所示

        当然也可以通过参数进行控制正负误差,

        scalar - 所有bar具有 +/- values

        shape(N,) - 每一个bar +/- values

        shape(2,N) - 每一个bar 都具有单独的 - and + values,lower errors 包含在 First row,upper errors 位于 second row

       None - 没有误差项(默认)

ecolor : scalar or array-like, optional, default: 'black';误差线条的颜色

capsize : scalar, optional;误差条的长度,

log : bool, optional, default: False,若True,设置 y 轴为 log 刻度

orientation : {'vertical',  'horizontal'}, optional;Default: 'vertical',*This is for internal use only.* Please use `barh` for horizontal bar plots. 

2 示例

import numpy as npimport matplotlib.pyplot as pltn = 12x = np.arange(n)y1 = (1 - x / n) * np.random.uniform(0.5, 1.0, n)y2 = (1 - x / n) * np.random.uniform(0.5, 1.0, n)plt.figure('Bar', facecolor='lightgray')plt.title('Bar', fontsize=20)plt.xlabel('x', fontsize=14)plt.ylabel('y', fontsize=14)plt.xticks(x, x + 1)plt.tick_params(labelsize=10)plt.grid(axis='y', linestyle=':')# 绘制barplt.bar(x, y1, 0.9,        ec='white', fc='dodgerblue',        label='Sapltle 1'        )# ec edgecolor; fc facecolor# 绘制bar值for _x, _y in zip(x, y1):    plt.text(_x, _y, '%.2f' % _y,             ha='center', va='bottom', size=8             )plt.bar(x, -y2, 0.9,        ec='white', fc='dodgerblue', alpha=0.5,       label='Sample 2',yerr = x*0.01)for _x, _y in zip(x, y2):    plt.text(_x, -_y, '%.2f' % _y,             ha='center', va='top', size=8)plt.legend()plt.show()

 

3 help(plt.bar)

Help on function bar in module matplotlib.pyplot:bar(*args, **kwargs)    Make a bar plot.        Call signatures::           bar(x, height, *, align='center', **kwargs)       bar(x, height, width, *, align='center', **kwargs)       bar(x, height, width, bottom, *, align='center', **kwargs)        The bars are positioned at *x* with the given *align* ment. Their    dimensions are given by *width* and *height*. The vertical baseline    is *bottom* (default 0).        Each of *x*, *height*, *width*, and *bottom* may either be a scalar    applying to all bars, or it may be a sequence of length N providing a    separate value for each bar.            Parameters    ----------    x : sequence of scalars        The x coordinates of the bars. See also *align* for the        alignment of the bars to the coordinates.        height : scalar or sequence of scalars        The height(s) of the bars.        width : scalar or array-like, optional        The width(s) of the bars (default: 0.8).        bottom : scalar or array-like, optional        The y coordinate(s) of the bars bases (default: 0).        align : {
'center', 'edge'}, optional, default: 'center' Alignment of the bars to the *x* coordinates: - 'center': Center the base on the *x* positions. - 'edge': Align the left edges of the bars with the *x* positions. To align the bars on the right edge pass a negative *width* and ``align='edge'``. Returns ------- container : `.BarContainer` Container with all the bars and optionally errorbars. Other Parameters ---------------- color : scalar or array-like, optional The colors of the bar faces. edgecolor : scalar or array-like, optional The colors of the bar edges. linewidth : scalar or array-like, optional Width of the bar edge(s). If 0, don't draw edges. tick_label : string or array-like, optional The tick labels of the bars. Default: None (Use default numeric labels.) xerr, yerr : scalar or array-like of shape(N,) or shape(2,N), optional If not *None*, add horizontal / vertical errorbars to the bar tips. The values are +/- sizes relative to the data: - scalar: symmetric +/- values for all bars - shape(N,): symmetric +/- values for each bar - shape(2,N): Separate - and + values for each bar. First row contains the lower errors, the second row contains the upper errors. - *None*: No errorbar. (Default) See :ref:`sphx_glr_gallery_statistics_errorbar_features.py` for an example on the usage of ``xerr`` and ``yerr``. ecolor : scalar or array-like, optional, default: 'black' The line color of the errorbars. capsize : scalar, optional The length of the error bar caps in points. Default: None, which will take the value from :rc:`errorbar.capsize`. error_kw : dict, optional Dictionary of kwargs to be passed to the `~.Axes.errorbar` method. Values of *ecolor* or *capsize* defined here take precedence over the independent kwargs. log : bool, optional, default: False If *True*, set the y-axis to be log scale. orientation : {
'vertical', 'horizontal'}, optional *This is for internal use only.* Please use `barh` for horizontal bar plots. Default: 'vertical'. See also -------- barh: Plot a horizontal bar plot. Notes ----- The optional arguments *color*, *edgecolor*, *linewidth*, *xerr*, and *yerr* can be either scalars or sequences of length equal to the number of bars. This enables you to use bar as the basis for stacked bar charts, or candlestick plots. Detail: *xerr* and *yerr* are passed directly to :meth:`errorbar`, so they can also have shape 2xN for independent specification of lower and upper errors. Other optional kwargs: agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array alpha: float or None animated: bool antialiased or aa: bool or None capstyle: ['butt' | 'round' | 'projecting'] clip_box: a `.Bbox` instance clip_on: bool clip_path: [(`~matplotlib.path.Path`, `.Transform`) | `.Patch` | None] color: matplotlib color spec contains: a callable function edgecolor or ec: mpl color spec, None, 'none', or 'auto' facecolor or fc: mpl color spec, or None for default, or 'none' for no color figure: a `.Figure` instance fill: bool gid: an id string hatch: ['/' | '\\' | '|' | '-' | '+' | 'x' | 'o' | 'O' | '.' | '*'] joinstyle: ['miter' | 'round' | 'bevel'] label: object linestyle or ls: ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | ``' '`` | ``''``] linewidth or lw: float or None for default path_effects: `.AbstractPathEffect` picker: [None | bool | float | callable] rasterized: bool or None sketch_params: (scale: float, length: float, randomness: float) snap: bool or None transform: `.Transform` url: a url string visible: bool zorder: float .. note:: In addition to the above described arguments, this function can take a **data** keyword argument. If such a **data** argument is given, the following arguments are replaced by **data[
]**: * All arguments with the following names: 'bottom', 'color', 'ecolor', 'edgecolor', 'height', 'left', 'linewidth', 'tick_label', 'width', 'x', 'xerr', 'y', 'yerr'. * All positional arguments.

 

转载地址:http://xpodo.baihongyu.com/

你可能感兴趣的文章
Java递归算法——阶乘
查看>>
Multi-voltage和power gating的实现
查看>>
JavaScript面向对象 ~ 原型和继承(1)
查看>>
ubuntu下安装nginx时依赖库zlib,pcre,openssl安装方法
查看>>
spring cloud微服务分布式云架构--hystrix的使用
查看>>
解决Mac启动Eclipse Memory Analyzer报错问题
查看>>
自己写的进度条###
查看>>
实现批量添加20个用户,用户名为user1-50,密码为user后面跟5个随机字符
查看>>
Net命令详解
查看>>
CentOS linux 高可用集群之heartbeat
查看>>
Logwatch日志分析工具
查看>>
docker 基本操作Ⅱ(关于镜像操作)
查看>>
分工與合作
查看>>
轻松设置站点对ASP危险组件的调用权限
查看>>
看懂“拜占庭容错”,也就看懂了区块链的核心技术
查看>>
APMServ 5.2.6 Win7 Apache启动失败,请检查相关配置
查看>>
了解痘痘起因才能彻底告别痘痘烦恼
查看>>
Zabbix安装
查看>>
Java 日志 详解
查看>>
openstack虚拟化技术和镜像制作
查看>>