Генерация случайных цветов в гистограмме с помощью Plotly Python - PullRequest
0 голосов
/ 22 ноября 2018

Я использую Plotly для Python для генерации нескольких столбчатых диаграмм.Поскольку у меня есть 17 объектов, которые складываются, цвет полос начал повторяться, как показано на рисунке ниже.

Bar Chart enter image description here

Может кто-нибудь сказать мне, как получить уникальные цвета для каждого стека?

Пожалуйстанайдите мой код для создания гистограммы ниже:

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)

1 Ответ

0 голосов
/ 24 апреля 2019

Это была проблема, с которой я столкнулся на этой неделе, и я решил ее с помощью модуля 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 цветов, и вы можете интегрировать этот список по своему желанию.Надеюсь, это кому-нибудь пригодится:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...