Plotly。如何为散点图中的每个系列设置一个独特的颜色?

问题描述 投票:1回答:1

我在pandas中有一个数据框,以股票行情为索引,有2列 "活跃权重 "和 "权重"。我可以使用下面的代码制作一个散点图,但我想为每个股票使用一种独特的颜色。我怎样才能做到这一点?

    scatter = [go.Scatter(x = df['Active Weight'], y = df['Weight'],
    mode='markers', text=df.index)]

    plotly.offline.iplot(scatter)
python plotly
1个回答
0
投票

我可能遗漏了什么,但听起来,你真的只是在寻找一个像这样的散点图。

enter image description here

下面的代码是按照plotly的默认颜色周期设置的。但是你可以在 plotly express 中把它改成任何其他的颜色方案,例如 px.colors.qualitative.Plotly. 或者干脆自己做,比如['黑','黄']。

完整的代码。

# imports
import plotly.express as px
import plotly.graph_objs as go
import pandas as pd
import numpy as np

# data 1
np.random.seed(123)
frame_rows = 40
frame_columns = ['Active Weight', 'Weight']
df= pd.DataFrame(np.random.uniform(-10,10,size=(frame_rows, len(frame_columns))),
                  index=pd.date_range('1/1/2020', periods=frame_rows),
                    columns=frame_columns)
df=df.cumsum()+100
df.iloc[0]=100

# color settings
#colors=px.colors.qualitative.plotly 
#colors=px.colors.qualitative.Dark24_r 
colors = ['black', 'yellow']

# plotly figure
fig = go.Figure()
for i, col in enumerate(df):
    fig.add_traces(go.Scatter(x=df.index, y = df[col].values,
                              mode = 'markers',
                              name = col,
                              marker=dict(color=colors[i])))

fig.show()
© www.soinside.com 2019 - 2024. All rights reserved.