Цель состоит в том, чтобы цветное значение выше определенного порогового значения в один цвет и значения ниже этого порога в другой цвет. Приведенный ниже код пытается просто разделить его на две гистограммы, но он выглядит сбалансированным только в том случае, если порог составляет 50%. Я предполагаю, что должен играть с переменной discreetlevel.Графическое распределение графиков Matplotlib с двумя цветами
finalutilityrange
- это вектор с кучей значений (вы должны сгенерировать его для проверки кода), который я пытаюсь выполнить. Значение deter
- это значение, определяющее, будут ли они синими или красными. discreetlevel
- это просто количество ящиков, которые я бы хотел.
import random
import numpy as np
import matplotlib.pyplot as plt
discreetlevel = 10
deter = 2
for x in range(0,len(finalutilityrange)):
if finalutilityrange[x-1]>=deter:
piraterange.append(finalutilityrange[x-1])
else:
nonpiraterange.append(finalutilityrange[x-1])
plt.hist(piraterange,bins=discreetlevel,normed=False,cumulative=False,color = 'b')
plt.hist(nonpiraterange,bins=discreetlevel),normed=False,cumulative=False,color = 'r')
plt.title("Histogram")
plt.xlabel("Utlity")
plt.ylabel("Probability")
plt.show()
Не часть вашего вопроса, но ваш for-loop реализован неправильно. Это ваша удача, что Python интерпретирует 'finalutilityrange [-1]' вместо повышения ошибки. –
Спасибо за правильность! – Dio