Я хотел бы изменить цвет хеджирования в зависимости от группы, к которой принадлежат мои данные. Я обнаружил, что могу изменить цвет всего графика, и каким-то образом люди, кажется, могут делать то, что я хочу , но я действительно не понимаю, как реализовать это в моем гистограмме. В конечном счете, я хочу иметь разные миксы и сочетания цветных пятен и цветных люков, но это то, что я могу понять для себя. Это пример, украденный из другого ответа здесь на SO:
import numpy as np
import matplotlib.pyplot as plt
import plotly.express as px
# Juwairia's data:
a = [4,-6,9]
b = [2,-7,1]
c = [3,3,1]
d = [4,0,-3]
data = np.array([a, b, c, d])
data_shape = np.shape(data)
# Take negative and positive data apart and cumulate
def get_cumulated_array(data, **kwargs):
cum = data.clip(**kwargs)
cum = np.cumsum(cum, axis=0)
d = np.zeros(np.shape(data))
d[1:] = cum[:-1]
return d
cumulated_data = get_cumulated_array(data, min=0)
cumulated_data_neg = get_cumulated_array(data, max=0)
# Re-merge negative and positive data.
row_mask = (data<0)
cumulated_data[row_mask] = cumulated_data_neg[row_mask]
data_stack = cumulated_data
cols = [ i for i in px.colors.qualitative.Light24]
fig = plt.figure()
ax = plt.subplot(111)
bars=[]
for i in np.arange(0, data_shape[0]):
bars.append(ax.bar(np.arange(data_shape[1]), data[i], bottom=data_stack[i], color=cols[i],))
bars[0][1].set_hatch('\\')# make this dark red - HOW?
bars[1][2].set_hatch('\\')#make this dark green - HOW?
plt.show()
Работа с matplotlib 2.2.4 и Python 2.7 Большое спасибо!