Цветные столбцы, служащие фоном для многолинейной диаграммы в Python - PullRequest
0 голосов
/ 29 мая 2020

Этот сценарий должен быть анонимным, поэтому прошу прощения за пробелы и регистр в моих переменных.

Я пытаюсь построить столбцы за моей линейной диаграммой в Power BI с помощью Python. Моя цель - выровнять эти столбцы по оси X и выступать в качестве бликов на фоне моей линейной диаграммы. Так как мой код в настоящее время выполняется, у меня повсюду идут синие полосы, идущие вниз по моей диаграмме вместо затенения на заднем плане. Поле, которое я использую для своих столбцов, имеет только 4 значения.

Это может быть очень простая проблема, но я немного новичок.

Я попытался добавить столбчатую диаграмму отдельно от моей линейной диаграммы с той же осью X, что и линии, и иметь высоту столбцов = МАКСИМАЛЬНОЕ значение Y на линиях. Таким образом, столбцы всегда покрывают весь график. Однако раскраска не работает. Я не могу найти способ раскрасить каждый из них по соответствующему значению. Эти значения всегда будут в одном порядке. например, A, B, C, D. Они могут появляться в разных точках оси X, но их порядок всегда будет одинаковым.

Форматирование выглядит следующим образом: Y = $. Строка 1 = Продажи. Строка 2 = Купонные продажи. Ось X = дни с момента открытия. Колонки следует раскрашивать по сезонам. Ось X такая же, как на линейном графике.

Как я могу обойти эту проблему?

Это то, с чем я закончил, прежде чем передать это профессионалам в Интернете;

#1 Sales
#2 Days since opening
#3 Store Name
#4 Time
#5 Date
#6 Coupon Sales
#7 Season
#If this order is not followed as directed, the plot will not display any valuable information, or will fail to function.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
################VARIABLE_DECLARATIONS##################
df = pd.DataFrame
pd.DataFrame(index=dataset.iloc[:,4], columns=dataset.iloc[:,3])
Sales = dataset.iloc[:,0]
Days since opening = dataset.iloc[:,1]
Store Name =dataset.iloc[:,2]
Coupon Sales = dataset.iloc[:,5]
Season = dataset.iloc[:,6]

CS = sns.lineplot(data=dataset,x=Days since opening,y=Coupon Sales,color="green")#,subplots_adjust(left=.054, right=1, top=1, bottom=0.05))
CS.set(ylim=(0, None))
CS.invert_yaxis()

CS2 = CS.twinx()

####################THE_GOOD_STUFF#####################
plt.gca().invert_yaxis()
sns.set_style('darkgrid')
plt.grid(b=True, which='major')
plt.grid(b=True, which='minor')
sns.lineplot(data=dataset,x=Days since opening,y=Sales,ax=CS2,color="blue")
plt.subplots_adjust(left=.054, right=1, top=.95, bottom=0.05)
plt.transparent=True
plt.bar(x=Days since opening,height=20000,label=Season)
plt.xlim(0,None)
plt.ylim(None,0)
plt.show()
#######################TESTING##########################

######################SCRATCHPAD########################
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...