I have a plotly express figure:
fig = px.line(data, x="DateTime", y="Gold", title="Gold Prices")
I want to change some details, like so
fig.update_layout(
line_color="#0000ff", # ValueError: Invalid property specified for object of type plotly.graph_objs.Layout: 'line'
line=dict(
color='rgb(204, 204, 204)',
width=5
), # Bad property path: line
)
But both attempts (trying solutions I researched on here) failed, with the errors given in the comments.
I have also tried fig = px.line(data, x="DateTime", y="Gold", title="Gold Prices", template="ggplot2", color_discrete_map={"Gold": "green"}) to no avail.
How do I make this work please?
plotly.express
If you want to use plotly.express, add the following settings.
import plotly.express as px
df = px.data.stocks()
fig = px.line(df, x='date', y="GOOG", title='Ticker:GOOG')
fig['data'][0]['line']['color']='rgb(204, 204, 204)'
fig['data'][0]['line']['width']=5
fig.show()
plotly.graph_objects
If you are using plotly.graph_objects, you can set it in go.Scatter().
import plotly.express as px
import plotly.graph_objects as go
df = px.data.stocks()
fig = go.Figure(data=go.Scatter(x=df['date'], y=df['GOOG'], mode='lines', line_color='rgb(204, 204, 204)', line_width=5))
fig.update_layout(title='Ticker:GOOG')
fig.show()
Try to use .update_traces() with plotly.express instead of .update_layout():
fig.update_traces(line_color='#0000ff', line_width=5)
Try using the "set_color" function like so:
fig.set_color('b')
or
fig.set_color('g')
where g and b can also be r for the RGB color scheme.
then
fig.show()