Итак, у меня есть такая база данных:
Time Type Profit
2 82 s/l -51.3
5 9 t/p 164.32
8 38 s/l -53.19
11 82 s/l -54.4
14 107 s/l -54.53
.. ... ... ...
730 111 s/l -70.72
731 111 s/l -70.72
732 111 s/l -70.72
733 113 s/l -65.13
734 113 s/l -65.13
[239 rows x 3 columns]
Я хочу построить график, который показывает X как время (это уже в часах недели), а Y как прибыль (которая может быть положительной или отрицательный). Для Y я бы хотел, чтобы в течение каждого часа (X) было 2 бара для отображения прибыли. Отрицательная прибыль в этом случае также будет положительной, но в другом баре.
Например, у нас есть -65 и 70. Они будут отображаться как 65 и 70 на графике, но потеря будет иметь другой цвет бара.
Это мой код:
#reading the csv file
data = pd.read_csv(filename)
df = pd.DataFrame(data, columns = ['Time','Type','Profit']).astype(str)
#turns time column into hours of week
df['Time'] = df['Time'].apply(lambda x: findHourOfWeek(x))
#Takes in winning trades (t/p) and losing trades(s/l)
df = df[(df['Type'] == 't/p') | (df['Type'] == 's/l')]
#Plots the chart
ax = df.plot(title='Profits and Losses (Hour Of Week)',kind='bar')
#ax.legend(['Losses', 'Winners'])
plt.xlabel('Hour of Week')
plt.ylabel('Amount Of Profit/Loss')
plt.show()