Я работаю с Python 3.x для генерации коробочных графиков с использованием matplotlib
Общие сведения: у меня есть фрейм данных, содержимое которого я хотел бы создать в виде графика.Проблема в том, что шкалы по столбцам не согласованы;l1 и l2 должны быть нанесены на отдельные оси Y от l3: l5.Первый содержит 17 столбцов, два других имеют по 1 столбцу.
l1 = [32107.0,20490.0, 32107.0, 22134.0,31564.0, 32107.0, 22134.0, 20732.0, 20490.0, 28406.0]
l2 = [54.4, 40.2, 54.4, 41.1, 49.4, 54.4, 41.1, 37.0, 40.2, 34.2]
l3 = [4595.0, 2164.0, 4595.0, 3500.0, 3733.0, 4595.0, 3500.0, 3214.0, 2164.0, 3388.0]
l4 = [4868.0, 2289.0, 4868.0, 3652.0, 4128.0, 4868.0, 3652.0, 3418.0, 2289.0, 3980.0]
l5 = [3777.0, 1623.0, 3777.0, 2456.0, 3010.0, 3777.0, 2456.0, 2318.0, 1623.0, 2677.0]
df2 = pd.DataFrame(
{'l1' : l1,
'l2' : l2,
'l3': l3,
'l4' : l4,
'l5' : l5})
fig, ax = plt.subplots(figsize=(5, 3))
ax.boxplot(df2[['l1']].transpose())
ax2 = ax.twinx()
ax2.boxplot(df2['l2'], positions = [2])
ax3 = ax.twinx()
ax3.boxplot(df2['l3'], positions = [3])
ax.set_xlim(0, 7)
Это не красиво, но это также не мои полные данные, но результат последовательный;метки первых двух столбцов пропали и остался только последний.
Я попробовал set_xticks () и несколько других вызовов, и я не могу никуда дозвониться.
Я знаю, как сместить оси Y и все такое;Я в основном зациклен на маркировке.