本文整理汇总了Python中matplotlib.axes.Axes.stackplot方法的典型用法代码示例。如果您正苦于以下问题:Python Axes.stackplot方法的具体用法?Python Axes.stackplot怎么用?Python Axes.stackplot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matplotlib.axes.Axes
的用法示例。
在下文中一共展示了Axes.stackplot方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: plot_mods
# 需要导入模块: from matplotlib.axes import Axes [as 别名]
# 或者: from matplotlib.axes.Axes import stackplot [as 别名]
def plot_mods(ax: Axes, stats: Stats, most_popular_at_bottom=False, percentage=False):
# FIXME different colors when using percentage with 10 mods
mods_by_popularity = sorted(stats.players_by_mod.keys(),
key=lambda mod: stats.all_time_players_by_mod[mod], reverse=most_popular_at_bottom)
labels = ["{} - avg. {:.2f} players".format(mod, stats.all_time_players_by_mod[mod] / len(stats.dates))
for mod in mods_by_popularity]
colors = ['red', 'green', 'blue', 'yellow', 'purple', 'lime', 'gray', 'cyan', 'orange', 'deeppink', 'black']
colors = colors[0:len(mods_by_popularity)]
colors = colors if most_popular_at_bottom else reversed(colors)
ax.set_prop_cycle(color=colors)
all_mods_values = np.row_stack([stats.players_by_mod[mod] for mod in mods_by_popularity])
if percentage:
with np.errstate(invalid='ignore'):
all_mods_values = all_mods_values / all_mods_values.sum(axis=0) * 100
ax.stackplot(stats.dates, all_mods_values, labels=labels, linewidth=0.1)
if percentage:
ax.set_ylim(bottom=0, top=100)
else:
ax.set_ylim(bottom=0)
decorate_axes(ax)
handles, labels = ax.get_legend_handles_labels()
handles = handles if most_popular_at_bottom else reversed(handles)
labels = labels if most_popular_at_bottom else reversed(labels)
leg = ax.legend(handles, labels, loc='upper left', prop={'size': 10})
leg.get_frame().set_alpha(0.5)