How to make figures for publications

From ChengLab
Jump to: navigation, search

Previous wiki page

[1]

Matplotlib

Subplots

fig, axes = plt.subplots(nrows=2, ncols=2)
for ax in axes.flat:
   im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1)

Add colorbar

fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])
fig.colorbar(im, cax=cbar_ax)

Axis ranges

# Define variables for limits
xlims = (-1, 5)
ylims = (-5, 15)
# Change x and y limits
for i, axes in enumerate(ax.flat):
   if i == 2: # Special case for the bar chart
       axes.set_ylim(0, 15)
   else:
       axes.set_ylim(ylims)
   axes.set_xlim(xlims)

Labels and Ticks

titles = ['Line Plot', 'Scatter Plot', 'Bar Chart', 'Box Plot']
xlabel = 'Group'
ylabel = 'Value ($units^2$)'
xticks = np.arange(len(means))
xticklabels = range(1,6) 


ax.xaxis.set_tick_params(top='off', direction='out', width=1)
ax.yaxis.set_tick_params(right='off', direction='out', width=1)
   
ax.set_title(title)
   
ax.set_xlabel(xlabel)
ax.set_ylabel(ylabel)
   
ax.set_xticks(xticks)
ax.set_yticks(yticks)
   
ax.set_xticklabels(xticklabels)
ax.set_yticklabels(yticklabels)

Sequence Alignment

ESPript