Figure Friday 2025 - week 8

join the Figure Friday session on February 28, at noon Eastern Time, to showcase your creation and receive feedback from the community.

Did you know that according to Dallas Animal Services, the Live Release Rate of dogs and cats in January 2025 was 89%. Despite the high release rate, the total Dog Kennel Capacity is at 122% (Daily Report Card).

In this week’s Figure Friday, we’ll explore the Animals Inventory Dataset of the animal shelter in Dallas.

The data is limited to all animals that were accepted by the shelter (Intake_Date) in January 2024. For the full and most recent data, please export it from the Dallas Animal Services on Dallas Open Data.

Things to consider:

  • what can you improve in the app or sample figure below (Strip Chart)?
  • would you like to tell a different data story using a different graph?
  • can you create a different Dash app?

Sample figure:

Code for sample figure:
from dash import Dash, dcc
import dash_ag_grid as dag
import plotly.express as px
import pandas as pd

df = pd.read_csv("https://raw.githubusercontent.com/plotly/Figure-Friday/refs/heads/main/2025/week-8/Dallas_Animal_Shelter_Data_Fiscal_Year_Jan_2024.csv")
df["Intake_Date"] = pd.to_datetime(df['Intake_Date'])
df["Outcome_Date"] = pd.to_datetime(df['Outcome_Date'])
df["Animal_Stay_Days"] = (df["Outcome_Date"] - df["Intake_Date"]).dt.days

df_filtered = df[df["Animal_Type"] == "DOG"]
fig = px.strip(df_filtered, x="Animal_Stay_Days", y="Intake_Type", height=650,
               title='Number of Days Dogs Spend in Shelter by Intake type')


grid = dag.AgGrid(
    rowData=df.to_dict("records"),
    columnDefs=[{"field": i, 'filter': True, 'sortable': True} for i in df.columns],
    dashGridOptions={"pagination": True}
)

app = Dash()
app.layout = [
    grid,
    dcc.Graph(figure=fig)
]


if __name__ == "__main__":
    app.run(debug=True)

Participation Instructions:

  • Create - use the weekly data set to build your own Plotly visualization or Dash app. Or, enhance the sample figure provided in this post, using Plotly or Dash.
  • Submit - post your creation to LinkedIn or Twitter with the hashtags #FigureFriday and #plotly by midnight Thursday, your time zone. Please also submit your visualization as a new post in this thread.
  • Celebrate - join the Figure Friday sessions to showcase your creation and receive feedback from the community.

:point_right: If you prefer to collaborate with others on Discord, join the Plotly Discord channel.

Data Source:

Thank you to Dallas Open Data and Dallas Animal Services for the data.

1 Like

My submission for ff-8, a bit of px.strip ( we are not friends), a lot of animal welfare. My thoughts after browsing on the DAS website were a) horrible website , how slow can it be and b) instead of analysis every person who pushes the donate button and/or adopts a dog, helps with the problem. And c) success stories are difficult to find, but they must be very busy.

I’m sorry for the code, this is just a bit of I want this, I want that, and fast, what works works, hurray for the colorpicker. Not responsive.

Py.cafe app (it’s not an app, it’s a onepager without important interaction): PyCafe - Dash - A bit of px.strip, a lot of animal welfare