Tuesday, March 10, 2026
HomeLanguagesplotly.figure_factory.create_bullet() in Python

plotly.figure_factory.create_bullet() in Python

Plotly library of Python can be very useful for data visualization and understanding the data simply and easily.

plotly.figure_factory.create_bullet

This method is used to create bullet charts. This function can take both dataframes or a sequence of dictionaries.

Syntax: plotly.figure_factory.create_bullet(data, markers=None, measures=None, ranges=None, subtitles=None, titles=None, orientation=’h’, **layout_options)

Parameters:

data: either a list/tuple of dictionaries or a pandas DataFrame.

markers: the column name or dictionary key for the markers in each subplot.

measures:  This bar usually represents the quantitative measure of performance, usually a list of two values [a, b] and are the blue bars in the foreground of each subplot by default.

ranges: This parameter is usually a 3-item list [bad, okay, good]. They correspond to the grey bars in the background of each chart.

subtitles: the column name or dictionary key for the subtitle of each subplot chart. 

titles ((str)) – the column name or dictionary key for the main label of each subplot chart.

Example 1: 

Python3




import plotly.figure_factory as ff
  
  
data = [
  {"label": "revenue", 
   "sublabel": "us$, in thousands",
   "range": [150, 225, 300], 
   "performance": [220,270],
   "point": [250]},
    
  {"label": "Profit", 
   "sublabel": "%", 
   "range": [20, 25, 30],
   "performance": [21, 23], 
   "point": [26]},
    
  {"label": "Order Size", 
   "sublabel":"US$, average",
   "range": [350, 500, 600],
   "performance": [100,320],
   "point": [550]},
    
  {"label": "New Customers", 
   "sublabel": "count",
   "range": [1400, 2000, 2500],
   "performance": [1000, 1650],
   "point": [2100]},
    
  {"label": "Satisfaction", 
   "sublabel": "out of 5",
   "range": [3.5, 4.25, 5],
   "performance": [3.2, 4.7],
   "point": [4.4]}
]
  
fig = ff.create_bullet(
    data, titles='label',
    subtitles='sublabel', 
    markers='point',
    measures='performance',
    ranges='range', 
    orientation='h',
    title='my simple bullet chart'
)
  
fig.show()


Output:

Example 2: Using a Dataframe with colors

Python3




import plotly.figure_factory as ff
import pandas as pd
  
  
data = [
    {"title": "Revenue",
     "subtitle": "US$, in thousands",
     "ranges": [150, 225, 300],
     "measures":[220, 270],
     "markers":[250]},
  
    {"title": "Profit",
     "subtitle": "%",
     "ranges": [20, 25, 30],
     "measures":[21, 23],
     "markers":[26]},
      
    {"title": "Order Size",
     "subtitle": "US$, average", 
     "ranges": [350, 500, 600],
     "measures":[100, 320],
     "markers":[550]},
      
    {"title": "New Customers", 
     "subtitle": "count",
     "ranges": [1400, 2000, 2500],
     "measures":[1000, 1650], 
     "markers":[2100]},
      
    {"title": "Satisfaction", 
     "subtitle": "out of 5",
     "ranges": [3.5, 4.25, 5], 
     "measures":[3.2, 4.7],
     "markers":[4.4]}
]
  
fig = ff.create_bullet(
    data, titles='title', 
    markers='markers',
    measures='measures',
    orientation='v',
    measure_colors=['rgb(14, 52, 75)', 'rgb(31, 141, 127)'],
    scatter_options={'marker': {'symbol': 'circle'}},
  width=700)
  
fig.show()


Output:

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

1 COMMENT

Most Popular

Dominic
32506 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6882 POSTS0 COMMENTS
Nicole Veronica
12005 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12099 POSTS0 COMMENTS
Shaida Kate Naidoo
7011 POSTS0 COMMENTS
Ted Musemwa
7255 POSTS0 COMMENTS
Thapelo Manthata
6967 POSTS0 COMMENTS
Umr Jansen
6956 POSTS0 COMMENTS