python plotly scatter plot如何为每个系列设置一个独特的颜色

时间:2017-09-28 07:06:32

标签: python plotly

我在pandas中有一个数据框,其中包含股票代码作为索引和2列“Active Weights”和“Weights”。我可以使用下面的代码制作散点图,但我想为每个自动收报机使用独特的颜色。我怎么能这样做?

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

    plotly.offline.iplot(scatter)

1 个答案:

答案 0 :(得分:0)

我可能在这里丢失了一些东西,但是听起来,您实际上只是在寻找这样的散点图:

enter image description here

以下代码设置为遵循plotly的默认颜色周期。但是您可以将其更改为从px.colors.qualitative.Plotly这样的绘图表达中更改为其他任何颜色。或者只是制作自己的['black','yellow']。

完整代码:

# 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()