python-novice-gapminder icon indicating copy to clipboard operation
python-novice-gapminder copied to clipboard

axis labels are wonky in gdp mean exercise

Open alee opened this issue 1 year ago • 2 comments

How could the content be improved?

#670 exposed some issues in the rendering of the comparing data challenge

gdp

Which part of the content does your suggestion apply to?

https://swcarpentry.github.io/python-novice-gapminder/14-looping-data-sets.html#comparing-data

alee avatar Mar 05 '24 00:03 alee

Hello,

Two options depending on the amount of complexity we want to add. The first is just to rotate the xticklabels; this can be added prior to the plt.legend() line (outside of the loop):

# rotate the xticklabels on the plot for better readability plt.xticks(rotation=90) # stop the labels being cut off when saving the figure plt.tight_layout()

rotated_labels

The second, the preferred option for a more presentable graph but likely too complex to include at this point in the tutorial is to split the strings in the xticklabels and keep only the year, since the rest of the label is the same for all the data. Add this prior to the plt.lengend() line (outside of the loop):

# set the x-labels to be the year in the column headings of the dataframe # get dataframe column headings headings = dataframe.columns[1:] # split the strings into two parts on the underscore and get the second part (the year) years = headings.str.split('_').str.get(1) # use the years as x-axis labels ax.set_xticks(range(len(years))) ax.set_xticklabels(years) ax.set_xlabel('Year')"

split_labels

I think as this part of the lesson is on looping over the data rather than presentation the rotation is probably sufficient!

georginaalbadri avatar Mar 08 '24 14:03 georginaalbadri

Thanks for sharing @georginaalbadri ! A PR for this would be welcome, but I can also submit one on your behalf next week.

alee avatar Mar 09 '24 07:03 alee