用Plotly Python生成条形图中的随机颜色

6rqinv9w  于 2023-02-10  发布在  Python
关注(0)|答案(2)|浏览(130)

我正在使用Plotly for Python生成一些堆叠条形图。因为我有17个对象被堆叠起来,所以条形图的颜色开始重复,如下图所示。
第一节第一节第一节第一节第一次
有人能告诉我如何为每一堆得到独特的颜色吗?
请找到我的代码生成下面的条形图:

import plotly
plotly.tools.set_credentials_file(username='xxxxxxxx', 
api_key='********')
dd = []
import plotly.plotly as py
import plotly.graph_objs as go
import numpy as np

for k,v in new_dict.items():

    trace = go.Bar(x = x['unique_days'],
                       y = v,
                       name = k,
                       text=v,
                       textposition = 'auto',
                      )
    dd.append(trace)



layout= go.Layout(
    title= 'Daily Cumulative Spend per campaign',
    hovermode= 'closest',
    autosize= True,
    width =5000,
     barmode='stack',
    xaxis= dict(
        title= 'Date',
        zeroline= False,
        gridwidth= 0,
        showticklabels=True,
        tickangle=-45,
        nticks = 60,
        ticklen = 5
    ),
    yaxis=dict(
        title= 'Cumulative Spend($)',
        ticklen= 5,
        gridwidth= 2,
    ),
    showlegend= True
)
fig = dict(data=dd, layout = layout)

py.iplot(fig)
sczxawaw

sczxawaw1#

这是我这周一直面临的问题,我用Matplotlib模块解决了这个问题。下面是我的代码:

import matplotlib, random

hex_colors_dic = {}
rgb_colors_dic = {}
hex_colors_only = []
for name, hex in matplotlib.colors.cnames.items():
    hex_colors_only.append(hex)
    hex_colors_dic[name] = hex
    rgb_colors_dic[name] = matplotlib.colors.to_rgb(hex)

print(hex_colors_only)

# getting random color from list of hex colors

print(random.choice(hex_colors_only))

列表中有148种颜色,你可以把这个列表和你的愿望结合起来。希望它对某人有用:)

aydmsdu9

aydmsdu92#

同上,简版:

import matplotlib, random
colors = dict(matplotlib.colors.cnames.items())
hex_colors = tuple(colors.values())
print(hex_colors)
#getting a random color from the dict
print(random.choice(hex_colors))

相关问题