Using Plotly Express Sunburst Charts to Explore Geological Data | by Andy McDonald | Jul, 2023


An Easy and Quick Way to Understand Your Geological Hierarchical Data with Python

Geological hierarchy represented on an interactive Plotly Express Sunburst chart. Image by the author.

Data visualisation plays a vital role in the geoscience and data science domains. It can allow us to gain deeper insights into the subsurface, understanding geological structures and hierarchical relationships. The subsurface is often subdivided into different categories ranging from the most extensive scope of geological time, such as Eras, Periods and Epochs, all the way down to lithological differences, such as sandstone, limestone and shale.

When working with geological hierarchical data, the data can be visualised in several ways. This includes conventional geological timescale charts and tables to interactive sunburst charts.

Sunburst charts can be used to present data in a unique way and are a great way to visualise hierarchical data such as geological hierarchical data. They do so by using multi-level concentric doughnut charts, which, depending on the tool used, can be fully interactive and help with drilling down from the highest to the lowest level.

To demonstrate these charts, we will use Plotly Express, a high-level data visualisation Python library, to take some data from a well on the Norwegian Continental Shelf and visualise the geological hierarchy, along with the lithological make-up of each formation. We will also see how to prepare the data from a well before creating the chart.

To begin, we will need two libraries: pandas for loading and manipulating our data and plotly_express for creating our visualisation.

import pandas as pd
import plotly_express as px

Next, we will load our data from a CSV file. Details of the data used can be found at the bottom of the article.

If you have a LAS file instead, you can quickly load the LAS file using the LASIO library and then convert the data to a pandas dataframe.

df = pd.read_csv('Data/Xeek_Well_15-9-15.csv')



Source link

Leave a Comment