python - 如何在破折号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 社区论坛中回答了这个问题:您需要传递colorscale
给marker
参数字典而不是layout
:
values = go.Bar(
x=['v1','v2','v3','v4'],
y=latest,
marker={'color': [i+1 for i,_ in enumerate(y)], 'colorscale': 'Viridis'}
)
推荐阅读
- sql - 按平均评分排序,但也按总评论数排序
- r - 通过交互手动调整 ggplot 中的颜色和线型
- python-3.x - 时间序列数据的交叉验证:VAR模型
- node.js - Heroku 托管问题(不和谐机器人)
- ios - 使用 Firestore DB,当满足特定条件时,如何在快照侦听器内打破 for 循环?
- javascript - React onChange 事件返回 TypeError: props.handleChange is not a function
- python - 正则表达式匹配域名
- java - Netbeans 为 Jframe 生成的代码不会改变
- python - 仅给定标题的子字符串时使用 BeautifulSoup 查找 h3
- python-3.x - Python 3 打印覆盖 If 语句之前的同一行