我有以下代码绘制条形图(1 个系列),但如果“净”值为正,我需要将条着色为蓝色,如果为负,则将条着色为红色:
import pandas as pd
import plotly.graph_objects as go
df = pd.DataFrame({
'Net':[15,20,-10,-15],
'Date':['07/14/2020','07/15/2020','07/16/2020','07/17/2020']
})
df['Date'] = pd.to_datetime(df['Date'])
fig = go.Figure(data=[go.Bar(name='Net', x=df['Date'], y=df['Net'])])
fig.update_layout(barmode='stack')
fig.show()
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看文档。完整代码如下
import pandas as pd
import plotly.graph_objects as go
import numpy as np
# Data
df = pd.DataFrame({
'Net':[15,20,-10,-15],
'Date':['07/14/2020','07/15/2020','07/16/2020','07/17/2020']
})
df['Date'] = pd.to_datetime(df['Date'])
## here I'm adding a column with colors
df["Color"] = np.where(df["Net"]<0, 'red', 'green')
# Plot
fig = go.Figure()
fig.add_trace(
go.Bar(name='Net',
x=df['Date'],
y=df['Net'],
marker_color=df['Color']))
fig.update_layout(barmode='stack')
fig.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2848 次 |
| 最近记录: |