Мне нужно воссоздать диаграмму, аналогичную приведенной ниже, созданной в Excel. Я надеялся использовать matplotlib, но, похоже, не нашел примеров или ссылок на то, как это сделать. Мне нужно, чтобы полосы были окрашены в зависимости от порога производительности, а также отображали порог. Может кто-то указать мне верное направление? Однако мне нужно иметь возможность сделать это с помощью Python. matplotlib advanced bar plot
ответ
Я должен бежать, но вот что-то, чтобы вы начали:
import numpy as np
import matplotlib
matplotlib.rcParams['text.usetex'] = False
import matplotlib.pyplot as plt
import pandas
df = pandas.DataFrame(np.random.uniform(size=37)*100, columns=['A'])
threshold = 75
fig, ax = plt.subplots(figsize=(8,3))
good = df['A'][df['A'] >= threshold]
bad = df['A'][df['A'] < threshold]
ax.bar(left=good.index, height=good, align='center', color='ForestGreen', zorder=5)
ax.bar(left=bad.index, height=bad, align='center', color='Firebrick', zorder=5)
ax.axhline(y=threshold, linewidth=2, color='ForestGreen', zorder=0)
ax.set_xticks(df.index)
ax.set_xlim(left=df.index[0]-0.75, right=df.index[-1]+0.75)
def annotateBars(row, ax=ax):
if row['A'] < 20:
color = 'black'
vertalign = 'bottom'
vertpad = 2
else:
color = 'white'
vertalign = 'top'
vertpad = -2
ax.text(row.name, row['A'] + vertpad, "{:.1f}%".format(row['A']),
zorder=10, rotation=90, color=color,
horizontalalignment='center',
verticalalignment=vertalign,
fontsize=8, weight='heavy')
junk = df.apply(annotateBars, ax=ax, axis=1)
И это дает мне:
Большое спасибо, это здорово !! Очень ценю, сэр. –
@ Dave_750 без проблем. в то время я работал над чем-то подобным. проверьте изменения для окончательной версии –
Треска выше не работает. Я получаю «ValueError: (« Значение истинности серии неоднозначно ». Используйте команды a.empty, a.bool(), a.item(), a.any() или a.all(). ', U'occurred при индексе 0 ') "error – alwbtc
- 1. Double bar plot matplotlib
- 2. matplotlib bar plot adjust bar direction
- 3. pandas/matplotlib: огранка bar plot
- 4. Matplotlib bar plot удалить внутренние линии
- 5. pandas matplotlib .plot (kind = 'hist') vs .plot (kind = 'bar') issue
- 6. Python Matplotlib aimate bar и plot in one picture
- 7. Стиль Matplotlib не работает в pandas bar plot
- 8. Pretty plot bar chart in python with matplotlib
- 9. Stacked bar plot
- 10. ggplot2 3D Bar Plot
- 11. Chaco bar plot
- 12. Bokeh Bar plot |
- 13. Отключить полосы ошибок в Seaborn Bar Plot
- 14. matplotlib mean interval plot
- 15. matplotlib 3D лента plot
- 16. Matplotlib Python Scatter Plot
- 17. Matplotlib line plot невозможно?
- 18. Matplotlib plot - simplification
- 19. matplotlib plot and imshow
- 20. python matplotlib save plot
- 21. matplotlib plot set x_ticks
- 22. matplotlib: plot hist2d кусочно
- 23. Matplotlib mutli-barchart plot
- 24. matplotlib - plot wrong datetime
- 25. Matplotlib: scrolling plot
- 26. Matplotlib Stem Plot
- 27. Matplotlib 3D plot plot no facecolor
- 28. Pandas: bar plot xtick frequency
- 29. R plotly 3d bar plot
- 30. bar plot transparent не работает
Я действительно ценю ответ ниже. Я вижу, что я был проголосован, но я никоим образом не ожидал кода, только надеялся на толкание в правильном направлении, поскольку я искал весь день для него и пришел пустым. –