Created
March 1, 2018 19:07
-
-
Save GeorgeSeif/fd27957402797fb8e35d3143618de84d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def barplot(x_data, y_data, error_data, x_label="", y_label="", title=""): | |
_, ax = plt.subplots() | |
# Draw bars, position them in the center of the tick mark on the x-axis | |
ax.bar(x_data, y_data, color = '#539caf', align = 'center') | |
# Draw error bars to show standard deviation, set ls to 'none' | |
# to remove line between points | |
ax.errorbar(x_data, y_data, yerr = error_data, color = '#297083', ls = 'none', lw = 2, capthick = 2) | |
ax.set_ylabel(y_label) | |
ax.set_xlabel(x_label) | |
ax.set_title(title) | |
def stackedbarplot(x_data, y_data_list, colors, y_data_names="", x_label="", y_label="", title=""): | |
_, ax = plt.subplots() | |
# Draw bars, one category at a time | |
for i in range(0, len(y_data_list)): | |
if i == 0: | |
ax.bar(x_data, y_data_list[i], color = colors[i], align = 'center', label = y_data_names[i]) | |
else: | |
# For each category after the first, the bottom of the | |
# bar will be the top of the last category | |
ax.bar(x_data, y_data_list[i], color = colors[i], bottom = y_data_list[i - 1], align = 'center', label = y_data_names[i]) | |
ax.set_ylabel(y_label) | |
ax.set_xlabel(x_label) | |
ax.set_title(title) | |
ax.legend(loc = 'upper right') | |
def groupedbarplot(x_data, y_data_list, colors, y_data_names="", x_label="", y_label="", title=""): | |
_, ax = plt.subplots() | |
# Total width for all bars at one x location | |
total_width = 0.8 | |
# Width of each individual bar | |
ind_width = total_width / len(y_data_list) | |
# This centers each cluster of bars about the x tick mark | |
alteration = np.arange(-(total_width/2), total_width/2, ind_width) | |
# Draw bars, one category at a time | |
for i in range(0, len(y_data_list)): | |
# Move the bar to the right on the x-axis so it doesn't | |
# overlap with previously drawn ones | |
ax.bar(x_data + alteration[i], y_data_list[i], color = colors[i], label = y_data_names[i], width = ind_width) | |
ax.set_ylabel(y_label) | |
ax.set_xlabel(x_label) | |
ax.set_title(title) | |
ax.legend(loc = 'upper right') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment