чтобы описать мою проблему, я привожу вам небольшой набор данных в качестве примера: представьте следующий набор данных:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame({'name':['a', 'b', 'c', 'a', 'b', 'c'], 'val':[1,5,3,4,5,3]} )
Я создаю простую гистогаму со следующим кодом:
def plot_bar_x():
index = np.arange(len(df['name']))
plt.bar(index, df['val'])
plt.legend(list(df['name'].unique()))
plt.xticks(index, df['name'], fontsize=10, rotation=30)
plt.show()
plot_bar_x()
Но это дает мне следующий сюжет:
Хотя у меня есть 3 уникальных имени, но я вижу только метку 'a', однако я использовал эту строку: plt.legend (list (df['name']. unique ())) другая проблема в том, что все полосы имеют одинаковый цвет, есть ли способ получить разные цвета для уникальных этикеток без предварительного определения цветов вручную?
желаемый выводэто: