<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 No real difference between grain sizes for the parallel vs perpendicular graphite.
Step1:  Make a giant comparison plot
<ASSISTANT_TASK:>
Python Code:
ABIG  = 1.0
big_sil = SingleGrainPop('Grain', 'Silicate', 'Mie', amax=ABIG, md=MD)
big_gra = SingleGrainPop('Grain', 'Graphite', 'Mie', amax=ABIG, md=MD)
%%time
big_sil.calculate_ext(EVALS, unit='kev', theta=THVALS)
%%time
big_gra.calculate_ext(EVALS, unit='kev', theta=THVALS)
ax = plt.subplot(111)
big_sil.plot_ext(ax, 'all')
plt.loglog()
ax.set_ylim(0.01, 2)
plt.title('Silicate')
ax = plt.subplot(111)
big_gra.plot_ext(ax, 'all')
plt.loglog()
ax.set_ylim(0.01, 2)
plt.title('Graphite')
inds = [0, 50, -10]
ms   = dict(zip(inds,['d','o','s']))
for i in inds:
    plt.plot(THVALS, big_sil.int_diff[i], 'g', ls='',
             marker=ms[i], markersize=10, label='%.2f keV' % EVALS[i])
    plt.plot(THVALS, big_gra.int_diff[i], 'b', ls='', marker=ms[i], markersize=10)
plt.loglog()
plt.legend(loc='lower left', frameon=False)
giant_sil = SingleGrainPop('Grain', 'Silicate', 'Mie', amax=A0, md=MD)
giant_gra = SingleGrainPop('Grain', 'Graphite', 'Mie', amax=A0, md=MD)
%%time
giant_sil.calculate_ext(EVALS, unit='kev', theta=THVALS)
%%time
giant_gra.calculate_ext(EVALS, unit='kev', theta=THVALS)
ax = plt.subplot(111)
giant_sil.plot_ext(ax, 'all')
plt.loglog()
ax.set_ylim(0.01, 2)
plt.title('Silicate')
ax = plt.subplot(111)
giant_gra.plot_ext(ax, 'all')
plt.loglog()
ax.set_ylim(0.01, 2)
plt.title('Graphite')
inds = [0, 50, -10]
ms   = dict(zip(inds,['d','o','s']))
for i in inds:
    plt.plot(THVALS, giant_sil.int_diff[i], 'g', ls='',
             marker=ms[i], markersize=10, label='%.2f keV' % EVALS[i])
    plt.plot(THVALS, giant_gra.int_diff[i], 'b', ls='', marker=ms[i], markersize=10)
plt.loglog()
plt.legend(loc='lower left', frameon=False)
Explanation: No real difference between grain sizes for the parallel vs perpendicular graphite.
End of explanation
ax = plt.subplot(111)
big_gra.plot_ext(ax, 'abs', color='b', lw=1, label='1 um gra')
big_sil.plot_ext(ax, 'abs', color='g', lw=1, label='1 um sil')
giant_gra.plot_ext(ax, 'abs', color='b', lw=2, label='10 um gra')
giant_sil.plot_ext(ax, 'abs', color='g', lw=2, label='10 um sil')
plt.loglog()
plt.xlim(0.1, 20)
plt.ylim(0.001, 2)
plt.title("Absorption")
plt.legend(loc='lower left', frameon=False)
Explanation: Make a giant comparison plot
End of explanation
<END_TASK>