Manhattan Plot in Python
Plotly Studio: Transform any dataset into an interactive data application in minutes with AI. Try Plotly Studio now.
Manhattan Plot¶
ManhattanPlot allows you to visualize genome-wide association studies (GWAS) efficiently. Using WebGL under the hood, you can interactively explore overviews of massive datasets comprising hundreds of thousands of points at once, or take a closer look at a small subset of your data. Hover data and click data are accessible from within the Dash app.
import pandas as pd
import dash_bio
df = pd.read_csv('https://raw.githubusercontent.com/plotly/dash-bio-docs-files/master/manhattan_data.csv')
dash_bio.ManhattanPlot(
dataframe=df,
)
Highlighted points color, and colors of the suggestive line and the genome-wide line¶
Change the color of the points that are considered significant.
import pandas as pd
import dash_bio
df = pd.read_csv('https://raw.githubusercontent.com/plotly/dash-bio-docs-files/master/manhattan_data.csv')
dash_bio.ManhattanPlot(
dataframe=df,
highlight_color='#00FFAA',
suggestiveline_color='#AA00AA',
genomewideline_color='#AA5500'
)
ManhattanPlot with Dash¶
What About Dash?¶
Dash is an open-source framework for building analytical applications, with no Javascript required, and it is tightly integrated with the Plotly graphing library.
Learn about how to install Dash at https://dash.plot.ly/installation.
Everywhere in this page that you see fig.show(), you can display the same figure in a Dash application by passing it to the figure argument of the Graph component from the built-in dash_core_components package like this:
import plotly.graph_objects as go # or plotly.express as px
fig = go.Figure() # or any Plotly Express function e.g. px.bar(...)
# fig.add_trace( ... )
# fig.update_layout( ... )
from dash import Dash, dcc, html
app = Dash()
app.layout = html.Div([
dcc.Graph(figure=fig)
])
app.run(debug=True, use_reloader=False) # Turn off reloader if inside Jupyter