In [1]:
import charts_function_list
import os

In [2]:
base,data,outputs = charts_function_list.folder_setup()
os.chdir(data)
monuments = pd.read_csv('monuments.csv',encoding='ISO-8859-1')

In [3]:
#font
plt.rcParams["font.family"] = 'Futura Bk BT'

#chart object and sorted DF
monument_chart = charts_function_list.chart_maker('Heights of 20 Famous Landmarks\nand a basketball rim',title_size=26)
monuments=monuments.sort_values(by='Height of object').reset_index(drop=True)

#fig and ax set
fig = monument_chart.initial_fig_axis((11,8))
fig.suptitle(monument_chart.title,y=.9,fontsize=26)
ax = monument_chart.axes_set_up(fig)


#basketball rim
plt.scatter(-1,10,marker='_',color='black',s=50)
ax.text(-1,-15,"Basketball Rim",alpha=.6,color='blue',ha='center',va='top',rotation=90,fontsize=16)
ax.text(-1,30,str(10)+'\'',ha='center',fontsize=13,alpha=.6)

#monuments and labels
plt.scatter(monuments.index,monuments['Height of object'],marker='_',color='black',s=50)
for item in range(len(monuments)):
    ax.text(monuments.index[item],monuments['Height of object'][item]-25,
            monuments['Monument/Structure'][item],ha='center',rotation=90,va='top',fontsize=16,color='maroon',alpha=.5,zorder=2)
    
    ax.text(monuments.index[item],monuments['Height of object'][item]+20,str(monuments['Height of object'][item])+'\'',ha='center',fontsize=13,alpha=.6)


#ticks
monument_chart.x_axis_setup(ax,-1.5,len(monuments)-.5,interval=1)
ax.set_xticks([])
ax.grid(False)
ax.set_yticks([0])

#horizontal line at 0
ax.hlines(0,xmin=-1.1,xmax=len(monuments)-1,linewidth=.4,alpha=.6,color='blue')

#default tick parameters
monument_chart.tick_params_(ax)

#add ytick label for 0 ft after
ax.set_yticklabels(["0 ft"],fontsize=12,va='center',position=(1.01,0))

#citation
monument_chart.citations(ax,source='Source: Google knowledge base',source_y=-.46)

#safe chart
os.chdir(outputs)
charts_function_list.chart_save('Monuments')
plt.show()



In [ ]: