Выровнять стержни на разных осях сверху друг на друга в matplotlibPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Выровнять стержни на разных осях сверху друг на друга в matplotlib

Сообщение Anonymous »

У меня есть DF, и я пытаюсь создать горизонтальные схемы.

Код: Выделить всё

import pandas as pd
import matplotlib.pyplot as plt
data = {'Name': ["A", "B", "C", "D",'E'],
'Todo': [4, 5, 6, 7, 3],
'Done': [6, 2, 6, 8, 6],
'TimeRemaining': [4, 4, 4, 4, 4]}
df = pd.DataFrame(data)

fig, ax1 = plt.subplots(figsize=(10, 8))
ax2 = ax1.twinx()
# Get the names of columns at indices 1 to 10
selected_column_names = df.columns[0:2].to_list()

ax = df.plot(kind='barh',y=selected_column_names, stacked=True, ax=ax2, )
for c in ax.containers:
# Optional: if the segment is small or 0, customize the labels
labels = [v.get_width() if v.get_width() > 0 else '' for v in c]

# remove the labels parameter if it's not needed for customized labels
ax.bar_label(c, fmt=lambda x: f'{x:.0f}' if x > 0 else '',label_type='center')

df.set_index('Name').plot(kind='barh', y=["TimeRemaining"], color='whitesmoke', alpha=0.3,ax=ax1, align='center', width=0.8, edgecolor='blue',)
# Hide y-axis tick labels
ax2.tick_params(axis='y', labelright=False, right=False)
ax2.set_yticklabels([])
ax1.get_legend().remove()

plt.title('Status Chart')
plt.tight_layout()
plt.show()
, который приводит к такому сюжету, как SO &, как вы можете видеть, темно-синие столбцы не сосредоточены с полупрозрачными стержнями (оба стержня на разных осях)
on there on there on there on there on the on there on ther Ось путем изменения ax1 на ax2 на втором графике, например, so df.set_index ('name'). plot (kind = 'barh', y = ["timeremaining"], color = 'whitesmoke', alpha = 0.3, ax = ax2, align = 'center', width = 0.8, edgecolor = 'blue', ax2, align = ', width = 0,8, edgecolor =', ', но имена, но имена. более! Я также получаю легенду о «Timeremaing», которую мне не нужны, и полупрозрачные стержни сейчас впереди. Имя показано в оси y слева?

Подробнее здесь: https://stackoverflow.com/questions/797 ... matplotlib
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»