问题
Is it possible using Plotly Dash to create line graphs in which the line colors are gradient (purely for aesthetics) ?
I tried using something like
'line': {'color': 'linear-gradient(90deg, red, red 60%, white)' }
example of entire graph code in plotly dassh
dcc.Graph(
id='MORTGAGE_RATES',
figure={
'data': [
{ "x": MORTGAGE30US['date'],"y": MORTGAGE30US['value'],"mode": "lines","name": '30 YR', 'line': {'color': 'linear-gradient(90deg, red, red 60%, white)' }},
{ "x": MORTGAGE15US['date'],"y": MORTGAGE15US['value'],"mode": "lines","name": '15 YR',},
],
'layout': {
'title': 'MORTGAGE RATES',
"paper_bgcolor": "rgb(46, 54, 65)",
"plot_bgcolor": "rgb(46, 54, 65)",
'font': {
'color': "rgb(255,255,255)"
}
}
}
)
回答1:
This feature is not yet available for 2D line plots, it is currently only available for 3D line plots, see https://github.com/plotly/plotly.js/issues/581. It is however possible to use a colorscale in a 2D plot if you use markers instead of lines, see the example below.
import plotly.graph_objects as go
import numpy as np
t = np.linspace(0, 10, 1000)
x, y = t, np.cos(t)
data = go.Scatter(x=x, y=y, mode='markers', marker={'color': x, 'colorscale': 'Rainbow', 'size': 10})
layout = dict(plot_bgcolor='white', margin=dict(t=0, b=0, r=0, l=0, pad=0),
xaxis=dict(showgrid=False, zeroline=False, mirror=True, linecolor='gray'),
yaxis=dict(showgrid=False, zeroline=False, mirror=True, linecolor='gray'))
fig = go.Figure(data=data, layout=layout)
fig.show()
来源:https://stackoverflow.com/questions/61487981/plotly-dash-gradient-lines