Учебное пособие для PCA в python включает в себя шаг для визуализации распределения переменных, содержащихся в наборе iris .
Поскольку этот набор данных содержит 4 переменные и 3 класса, соответствующий код является статическим (т. Е. Жестко закодированные значения цвета RGB).
traces = []
colors = {'Iris-setosa': 'rgb(31, 119, 180)', # Not scalable
'Iris-versicolor': 'rgb(255, 127, 14)', # Not scalable
'Iris-virginica': 'rgb(44, 160, 44)'} # Not scalable
for col in range(4): # Not scalable
for key in colors:
traces.append(Histogram(x=all_variables[class_variables==key, col],
opacity=0.75, xaxis='x%s' %(col+1),
marker=Marker(color=colors[key]),
name=key, showlegend=legend[col]))
Мы находимся впроцесс преобразования этого в масштабируемое решение, которое автоматически адаптируется к другим наборам данных с другим числом переменных.
Например, for col in range(4)
можно записать как for col in range(len(df_dataset.columns)-1)
.
Яинтересуются предложениями о том, как сделать цветопередачу частью масштабируемой.Документация Plotly *1020* не включает гистограммы.Альтернативой было бы заранее определить набор, скажем, 20 цветов, а затем назначить их на лету соответствующим переменным.Так как это также не масштабируемо, я благодарен за любые идеи высокого уровня.
Как найти масштабируемое решение, чтобы назначить N цветов для N переменных в гистограмме графика?