如何将色阶添加到破折号中的条形图 python
How to add colorscale to bar graph in dash python
我正在绘制一个每秒更新的条形图我想为其添加色阶。
import plotly.graph_objects as go
@app.callback(Output('my-graph', 'figure'),
[Input('my-interval-component', 'n_intervals')])
def update_graph_soc(n):
connection = sqlite3.connect(r'C:\Users\user\Desktop\database\newbase.db', )
connection.execute('pragma journal_mode=wal')
data = connection.cursor()
latest = None
try:
data = connection.cursor()
latest = (data.execute("""SELECT
v1,v2,v3,v4
SNO FROM sop where SNO ==(SELECT MAX([SNO]) FROM [sop])""").fetchall().__getitem__(0))
except Exception as e:
print(e)
z = []
values = go.Bar(
x=['v1','v2','v3','v4'], y=latest)
return {'data': [values], 'layout': go.Layout(title='graph',yaxis_title='values(in x)',
xaxis_title='sample: ' + str(int(latest[4])),colorscale='Viridis')}
我试图按照上面的方法来做,我将 Viridis 作为色标,但它不起作用。任何帮助将不胜感激 提前致谢。
@eliasdabbas
在 Plotly Community Forum 中回答了这个问题:您需要将 colorscale
传递给 marker
参数字典而不是 layout
:
values = go.Bar(
x=['v1','v2','v3','v4'],
y=latest,
marker={'color': [i+1 for i,_ in enumerate(y)], 'colorscale': 'Viridis'}
)
我正在绘制一个每秒更新的条形图我想为其添加色阶。
import plotly.graph_objects as go
@app.callback(Output('my-graph', 'figure'),
[Input('my-interval-component', 'n_intervals')])
def update_graph_soc(n):
connection = sqlite3.connect(r'C:\Users\user\Desktop\database\newbase.db', )
connection.execute('pragma journal_mode=wal')
data = connection.cursor()
latest = None
try:
data = connection.cursor()
latest = (data.execute("""SELECT
v1,v2,v3,v4
SNO FROM sop where SNO ==(SELECT MAX([SNO]) FROM [sop])""").fetchall().__getitem__(0))
except Exception as e:
print(e)
z = []
values = go.Bar(
x=['v1','v2','v3','v4'], y=latest)
return {'data': [values], 'layout': go.Layout(title='graph',yaxis_title='values(in x)',
xaxis_title='sample: ' + str(int(latest[4])),colorscale='Viridis')}
我试图按照上面的方法来做,我将 Viridis 作为色标,但它不起作用。任何帮助将不胜感激 提前致谢。
@eliasdabbas
在 Plotly Community Forum 中回答了这个问题:您需要将 colorscale
传递给 marker
参数字典而不是 layout
:
values = go.Bar(
x=['v1','v2','v3','v4'],
y=latest,
marker={'color': [i+1 for i,_ in enumerate(y)], 'colorscale': 'Viridis'}
)