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
| importplotly.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
| importplotly.figure_factory as ff importpandas 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:

 
                                    








