Hi All,
I’m designing a time-series data analysis application using Dash+Plotly. Here’s my setup version(s) :
dash - 1.14.0
plotly - 4.9.0
dash_html_components - 1.0.3
dash_core_components - 1.10.2
I have a column which has nearly 40-70 unique categories. I want to create a scatter plot where I need a trace for each category. I tried sub-dividing the data based on category, and tried adding trace for each of them. Basically, a single figure with 40-70 traces. But, the application gets crashed if I do this. I know there is a way by which we can color map the markers, but I don’t know how. Plus, the no of entries in this column changes dynamically, depending on the input data. Can someone help me how I could achieve this?
Here is a small snippet of my code:
import pandas as pd
import numpy as np
import plotly.graph_objects as go
fig = go.Figure()
df = pd.read_csv(r'data.csv')
colors = df.Colors.unique().tolist() # Categorical column which has 40-70 unique values
for c in colors:
temp = df[df.TCID.isin([c])]
fig.add_trace(
go.Scatter(
x = df['X'],
y = df['Y'],
mode = 'markers',
name = thread,
marker = dict(
size=7,
line = dict(
width = 1,
color = 'DarkSlateGrey')
)
)
)
fig.update_layout(title_text = 'Sample Plot')
fig.write_html('plot.html', auto_open=True)