Thursday, October 23, 2025
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

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS