Wednesday, June 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

4 COMMENTS

Most Popular

Dominic
32515 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6896 POSTS0 COMMENTS
Nicole Veronica
12012 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12109 POSTS0 COMMENTS
Shaida Kate Naidoo
7018 POSTS0 COMMENTS
Ted Musemwa
7262 POSTS0 COMMENTS
Thapelo Manthata
6976 POSTS0 COMMENTS
Umr Jansen
6963 POSTS0 COMMENTS