Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.0 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

Scilab Help >> Graphics > bar_histogram > bar


bar histogram


bar(x, y)
bar(x, y, width, colors, style)
bar(x, y [,width] [,colors] [,style])
bar(h, ..)



an axes handle, (default: h=gca() ).


scalar, vector of size N, or matrix N*M of real numbers or encoded integers, with

  • N : number of groups (each group of bars gathered on/around an x position)
  • M : number of categories in each group


a real scalar or a vector of size N. By default,

  • If y is a vector: x=1:length(y)
  • If y is a matrix: x=1:size(y,"r")


(optional), a real scalar, defines the width (a percentage of the available room) for the bar (default: 0.8, i.e 80%).


(optional) Single string or vector of M strings: colors names (among predefined ones) or "#RRGGBB" hexadecimal codes of categories colors. Default = default plot() colors series, starting with "blue".


a string, 'grouped' (default), or 'stacked'.


bar(y,...) : if y is a vector, then bar() draws a polyline which has the polyline_style type 6, versus x=1:length(y). If y is a matrix N*M, bar() draws M polylines (type 6), versus x=1:size(y,1). Each polyline represents a category, with a specific color.

bar(x,y,...) : if y is a vector, then bar() draws a polyline which has the polyline_style type 6, where x length = y length. If y is a matrix NxM then bar function draws M polylines which have the type 6. Each polyline corresponds to a column of y versus vector x.

bar(h,...) : specifies the targeted axes where the drawing is performed.

bar(...,width,...) : defines the relative width of the bar(s): 0<width<=1.

bar(...,style,...) : defines how the bar is drawn. If y is a matrix N*M (so M polylines of type 6), then there are two ways to draw the M bars. the style option = 'grouped' allows to center the M polylines versus each components of x, and the style option 'stacked' allows to stack them.

bar(...,colors,...) : defines the colors identifying categories and filling the corresponding subsets of bars.

If there are several bar() calls, the barhomogenize function allows to homogenize the width and style of all bars (i.e polylines of type 6) included in the current working axes.


// First example: draw a bar (i.e a polyline with polyline_style type =6) with
// width=0.5 and colors='yellow' and default style='grouped', x=1:length(y).
y=[1 -3 5];
// Second example: draw 3 bars (i.e 3 polylines with polyline_style type =6),default style='grouped'
x=[1 2 5];
y=[1  -5 6;3 -2 7;4  -3 8];
// Third example : style='stacked'.
x=[1 2 5];
y=[1 4 7;2 5 8;3 6  9];
// Fourth example: width=0.2;colors='green'; default style='grouped'
x=[1 2 5];
y=[1 4 7;2 5 8;3 6 9];

See also


  • A vector of M colors can now be provided, one for each category.
  • Available colors are no longer restricted to the 10 major colors. All the predefined colors names can now be used.
  • Colors can now be specified also by their "#RRGGBB" hexadecimal codes.
Report an issue
<< bar_histogram bar_histogram barh >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:49:21 CET 2020