Python 如何为plotly图表的0以上和0以下的值制作不同的颜色栏

Python 如何为plotly图表的0以上和0以下的值制作不同的颜色栏,python,pandas,plotly,Python,Pandas,Plotly,我已经通过plotly生成了条形图,如何使0上方的条形图变为绿色,0下方的条形图变为红色 import plotly import plotly.graph_objs as go plotly.offline.init_notebook_mode(connected=True) trace1 = go.Bar( x=df.symbol, y=df["percentageChange30dBtc"], name='Top10', marker = dict(col

我已经通过plotly生成了条形图,如何使0上方的条形图变为绿色,0下方的条形图变为红色

import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode(connected=True)
trace1 = go.Bar(
    x=df.symbol,
    y=df["percentageChange30dBtc"],

    name='Top10',
    marker = dict(color = 'rgba(63, 195, 128, 1)', 
                              line = dict(color='rgb(0,0,0)',width=1.5)),
   text=df.percentageChange30dBtc,
        textposition='outside'
)
##rgba(252, 214, 112, 1),'rgba(255,174,255,0.5)'
data = [trace1]
plotly.offline.iplot({
    "data": data,
    "layout": go.Layout(barmode='group', yaxis=dict(tickformat=".0%"),title="24H Change Binance"  #tickformat=".0%"
     ,width=800,height=600,)
})

您可以在标记上传递颜色列表, (假设df[“percentageChange30dBtc”]值是数值,如果字符串以
%
do
float(x.replace('%','')>0而不是
x>0

import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode(connected=True)
trace1 = go.Bar(
    x=df.symbol,
    y=df["percentageChange30dBtc"],

    name='Top10',
    marker = dict(color = ['rgba(63, 195, 128, 1)' if x>0 else 'rgba(219, 10, 91, 1)' for x in df["percentageChange30dBtc"]], 
                 line = dict(color='rgb(0,0,0)',width=1.5)),
   text=df.percentageChange30dBtc,
        textposition='outside'
)
##rgba(252, 214, 112, 1),'rgba(255,174,255,0.5)'
data = [trace1]
plotly.offline.iplot({
    "data": data,
    "layout": go.Layout(barmode='group', yaxis=dict(tickformat=".0%"),title="24H Change Binance"  #tickformat=".0%"
     ,width=800,height=600,)
})

谢谢。我正准备试用它。但是它的输出是“文件”,第6行marker=dict(color='rgba(63195128,1)'if x>0 else'rgba(219,10,91,1)'对于前10名的x[“sep_return”],^SyntaxError:invalid syntax”color应该是一个列表,
color=['rgba](63195128,1)“如果x>0其他”rgba(219,10,91,1)”用于排名前10的x[“九月返回”]