Skip to content

Instantly share code, notes, and snippets.

@smutch
Created October 18, 2013 01:40
Show Gist options
  • Save smutch/7035189 to your computer and use it in GitHub Desktop.
Save smutch/7035189 to your computer and use it in GitHub Desktop.
ipy: try to make mpl look like ggplot2
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"gist_id": "Error: No such file or directory - UserssmutchtempNo",
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": true,
"input": [
"import h5py as h5\n",
"import brewer2mpl as brewer\n",
"import rpy2.robjects.lib.ggplot2 as ggplot2\n",
"import rpy2.robjects as ro\n",
"%load_ext rmagic"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"The rmagic extension is already loaded. To reload it, use:\n",
" %reload_ext rmagic\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"with h5.File(\"/Users/smutch/Downloads/GiggleZ_MR_no_ghost_test.hdf5\", \"r\") as fin:\n",
" gals = fin[\"Snap019/Galaxies\"][:]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%R -i gals\n",
"df <- as.data.frame(gals)\n",
"dfs <- df[sample(nrow(df), 100),]\n",
"p <- ggplot(dfs, aes(StellarMass*1e10, Mvir*1e10, colour=factor(Type), size=Vmax))\n",
"p <- p + geom_point(alpha=I(0.5)) + scale_x_log10() + scale_y_log10()\n",
"p <- p + theme(text = element_text(size=16))\n",
"p <- p + xlab(expression(M[sol])) + ylab(expression(M[vir]))\n",
"\n",
"print(p)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n"
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ok - how can I make a matplotlib figure look like this?..."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def rstyle(ax): \n",
" \"\"\"Styles an axes to appear like ggplot2\n",
" Must be called after all plot and axis manipulation operations have been carried out (needs to know final tick spacing)\n",
" \"\"\"\n",
" #set the style of the major and minor grid lines, filled blocks\n",
" ax.grid(True, 'major', color='w', linestyle='-', linewidth=1.4)\n",
" ax.grid(True, 'minor', color='0.92', linestyle='-', linewidth=1)\n",
" ax.patch.set_facecolor('0.9')\n",
" ax.set_axisbelow(True)\n",
" \n",
" #set minor tick spacing to 1/2 of the major ticks\n",
" if ax.get_xscale() is 'linear':\n",
" ax.xaxis.set_minor_locator(plt.MultipleLocator( (plt.xticks()[0][1]-plt.xticks()[0][0]) / 2.0 ))\n",
" if ax.get_yscale() is 'linear':\n",
" ax.yaxis.set_minor_locator(plt.MultipleLocator( (plt.yticks()[0][1]-plt.yticks()[0][0]) / 2.0 ))\n",
" \n",
" #remove axis border\n",
" for child in ax.get_children():\n",
" if isinstance(child, matplotlib.spines.Spine):\n",
" child.set_alpha(0)\n",
" \n",
" #restyle the tick lines\n",
" for line in ax.get_xticklines() + ax.get_yticklines():\n",
" line.set_markersize(5)\n",
" line.set_color('0.5')\n",
" line.set_markeredgewidth(1.4)\n",
" \n",
" #remove the minor tick lines \n",
" for line in ax.xaxis.get_ticklines(minor=True) + ax.yaxis.get_ticklines(minor=True):\n",
" line.set_markersize(0)\n",
" \n",
" #only show bottom left ticks, pointing out of axis\n",
" plt.rcParams['xtick.direction'] = 'out'\n",
" plt.rcParams['ytick.direction'] = 'out'\n",
" ax.xaxis.set_ticks_position('bottom')\n",
" ax.yaxis.set_ticks_position('left')\n",
" \n",
" plt.setp(ax.get_xticklabels(), color='0.5')\n",
" plt.setp(ax.get_yticklabels(), color='0.5')\n",
" \n",
" if ax.legend_ <> None:\n",
" lg = ax.legend_\n",
" lg.get_frame().set_linewidth(0)\n",
" lg.get_frame().set_alpha(0.5)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def scatter_color_scale(ax, data, sc):\n",
" ax.set_axis_off()\n",
" yl = np.unique(data)\n",
" xl = np.ones(yl.size)\n",
" ax.scatter(xl, yl, c=yl, s=100, cmap=sc.get_cmap(), alpha=sc.get_alpha())\n",
" for x, y in zip(xl, yl):\n",
" ax.annotate(\"%d\"%y, (x, y), (x+0.005, y), verticalalignment='center')\n",
" \n",
"def scatter_size_scale(ax, data, mult=False):\n",
" ax.set_axis_off()\n",
" xl = np.ones(4)\n",
" yl = np.linspace(data.min(), data.max(), xl.size)\n",
" if mult:\n",
" s = np.floor(yl/mult)*mult\n",
" else:\n",
" s = yl\n",
" ax.scatter(xl, yl, s=s, c='0.2')\n",
" ymax = yl.max()+np.sqrt(s.max())*3\n",
" ymin = yl.min()-np.sqrt(s.max())*3\n",
" ax.set_ylim(ymin, ymax)\n",
" for x, y, s in zip(xl, yl, s):\n",
" axl.annotate(\"%d\"%s, (x, y), (x+0.005, y), verticalalignment='center')\n",
" "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(figsize=(8,8))\n",
"plt.rcParams['font.size']=12\n",
"ax.set_yscale('log')\n",
"ax.set_xscale('log')\n",
"ax.set_xlabel(r'${\\rm M_{vir}}$')\n",
"ax.set_ylabel(r'${\\rm M_{\\odot}}$')\n",
"g = np.random.choice(gals, 100)\n",
"s = (g['Vmax']-g['Vmax'].min())\n",
"s*=200/s.max()\n",
"cmap = brewer.get_map('Set1', 'Qualitative', 3).get_mpl_colormap()\n",
"sc = ax.scatter((g['StellarMass']*1e10), g['Mvir']*1.e10, \n",
" marker='o', c=g['Type'], \n",
" s=s, cmap=cmap,\n",
" edgecolor='none', alpha=0.3,\n",
" label=\"galaxies\")\n",
"rstyle(ax)\n",
"plt.subplots_adjust(right=0.82)\n",
"\n",
"axl = fig.add_axes([0.85, 0.25, 0.07, 0.2])\n",
"t = axl.set_title(r'${\\rm V_{ max}}$')\n",
"pos = t.get_position()\n",
"t.set_position((pos[0]+0.25, pos[1]))\n",
"scatter_size_scale(axl, g['Vmax'], 50.)\n",
"\n",
"axl = fig.add_axes([0.85, 0.55, 0.07, 0.15])\n",
"t = axl.set_title(r'Type', loc='left')#, fontdict={'size':'large'})\n",
"pos = t.get_position()\n",
"t.set_position((pos[0]+0.18, pos[1]))\n",
"scatter_color_scale(axl, g['Type'], sc)\n",
"\n",
"ax.set_ylim(bottom=5e9)\n",
"plt.draw()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAiEAAAIFCAYAAAAEKi2nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl0XOV9//H3nU3SaLSPVtvyvtvYYCcQEsJa2rKEQBpC\nMCE2kHBI219+v/xIk+Z3EtKmLRAoJz2HpoEmQCBAQpISoCUhlFAcEoKJwTbYxgbZ8iZZ0mhfZ7vP\n74+xZMvaZrTdGenzOscH3ef5ztUzD3Olr+597vdaxhiDiIiIyDRzOT0AERERmZ2UhIiIiIgjlISI\niIiII5SEiIiIiCOUhIiIiIgjlISIiIiII5SEiIiIiCOUhIiIiIgjPE4PYDKEw2EeffRRQqEQN998\nM2VlZXR1dfHUU0/hdrtxu91cc801+P1+p4cqIiIiJ1gzoWKqbdv09fXx4osv8qEPfYiysjKMMViW\nBcCOHTvo6uriIx/5iMMjFRERkX4z4nKMy+UacpajPwGBxJmS7Ozs6R6WiIiIjGJGXI4ZyfHjx/nP\n//xP+vr6+NznPuf0cEREROQUaXU5Ztu2bezYsYPGxkbWrl3LVVddNdDX29vLs88+S01NDX6/n4sv\nvpi1a9cOev0zzzzDueeeS2lp6aD23bt3c+zYMS699NJpeR8iIiIytrQ6E5KXl8dHP/pRampqiMVi\ng/qef/55PB4PX/7yl6mvr+eJJ56goqJiSMLRn1PF43HcbjcAWVlZxOPx6XkTIiIikpS0SkJWrlwJ\nQF1dHZ2dnQPtkUiEvXv38oUvfAGv10t1dTUrVqxg586dXHLJJQA8/vjjNDQ0EAqF2LBhA6Wlpbz4\n4otYloXb7eZjH/vYsN+zs7Nz0PeCRDKUl5c3Re9SREREIM2SkJE0NzfjcrkoLi4eaCsvL6e2tnZg\ne9OmTUNet3nz5jH3vX37dl555ZVBbeeffz4XXHDBeIcrIiIiSciIJCQSiZCVlTWozefzEYlEJrzv\nDRs2UFlZOejyT25uLk1NTePan8fjGXIpaSLxo/UP13d6W7LbHo+HoqIiWltbUxr/aFKZi2RiR4pJ\ntn207XSZh2TjU5mLVD8nmTQXs+X4SCZ+Oo6P/q9n0s+KiR4fMjEZkYT4fD7C4fCgtnA4jM/nm/C+\n8/LyKC4uHvIhHO/BZVlWSq8dK360/uH6Tm9LdTsWi03aD5ZU5iKZ2JFikm0fbTtd5iHZ+FTmItXP\nSSbNxWw5PpKJn87jA2bOz4qJHh8yMRlRJ6SkpATbtmlpaRloa2hooKyszMFRiYiIyESkVRJi2zax\nWAzbtgd97fP5WLlyJS+//DLRaJTDhw+zb98+zjjjDKeHLCIiIuOUVpdjtm7dOmiR6K5du7jgggs4\n//zzueyyy3j22We555578Pv9XHHFFUNuzxUREZHMkVbFypwQCoWcHoKIiGSgYDDo9BAyXlqdCXFC\nMBikqalp0hYaeb1eotHopMWP1j9c3+ltyW57PB5KS0sdm4tkYkeKSbZ9tO10mYdk41OZi1Q/J5k0\nF7Pl+EgmfjqOD8DxuUin40MmLq3WhIiIiMjsoSREREREHKEkRERERByhJEREREQcoSREREREHKFb\ndHWLroiIjINu0Z24WX+PkW7RTY9bEHWLbmrxukV37P6ZdHwkE69bdMeO0S266UeXY0RERMQRSkJE\nRETEEUpCRERExBFKQkRERMQRSkJERETEEUpCRERExBGqE6I6ISIiMg6qEzJxs/5GZ9UJSY86CKoT\nklq86oSM3T+Tjo9k4lUnZOwY1QlJP7ocIyIiIo5QEiIiIiKOUBIiIiIijlASIiIiIo5QEiIiIiKO\nUBIiIiIijlASIiIiIo5QsTIVKxMRkXFQsbKJm/XVVlSsLD2KMalYWWrxKlY2dv9MOj6SiVexsrFj\nVKws/ehyjIiIiDhCSYiIiIg4QkmIiIiIOEJJiIiIiDhCSYiIiIg4QkmIiIiIOEJJiIiIiDhCSYiI\niIg4QkmIiIiIOEJl21W2XURExkFl2ydu1tedVdn29ChLrbLtqcWrbPvY/TPp+EgmXmXbx45R2fb0\no8sxIiIi4gglISIiIuIIJSEiIiLiCCUhIiIi4gglISIiIuIIJSEiIiLiCCUhIiIi4gglISIiIuII\nJSEiIiLiCCUhIiIi4gglISIiIuIIPcBOD7ATEZFx0APsJm7WP4FHD7BLjwd06QF2qcXrAXZj98+k\n4yOZeD3AbuwYPcAu/ehyjIiIiDhCSYiIiIg4QkmIiIiIOEJJiIiIiDhCSYiIiIg4QkmIiIiIOEJJ\niIiIiDhCSYiIiIg4QkmIiIiIOEJJiIiIiDhCSYiIiIg4QkmIiIiIOEJJiIiIiDhCSYiIiIg4QkmI\niIiIOMIyxhinB+GkUCjk9BBERCQDBYNBp4eQ8TxOD8BpwWCQpqYmYrHYpOzP6/USjUYnLX60/uH6\n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\n4Lpru3d4veAbC+6Uy/tEREaIYRgUFxdz5513dmvPycnh7rvvJqWXRz40NTXx3nvv0d7eTigU4rXX\nXuOf//wnt956KytXruTgwYNs27aN9vZ2nn76aebMmTOsk1JBd8eI9MkYO/byNpsNpk2zIBoRke58\nPh8PPvggixcvprq6mvT0dAoLC7nuuuswLjz0sifBYJCnnnqK0tJS7HY7xcXFbN++nYKCAgDeeust\nNmzYwLp16/jqV7/K66+/PuyxqwgREREZ5bKysliwYMGAXuPz+fj444+v2L906dLYuiFXiy7HiIiI\niCVUhIiIiIglVISIiIiIJQyzp/Vak0hDQ4PVIYiIyCjk8/msDmHUS/qJqT6fj/r6ekKh0LC8n9Pp\nJBgMDtv43vp76ru0rb/bDocDv99vWS76M/ZKY/rb3tt2vOShv+MHkouBfk5GUy6S5fjoz/iROD4A\ny3MRT8eHDJ0ux4iIiIglVISIiIiIJVSEiIiIiCVUhEhCMAMBzIoKzLNnrQ5FRET6SUWIJIajR6Hy\nv3DoEOYAJvuJiIh1VIRIYrDbo//a7NDLsxJERCR+6B4jSQxTp0J2NmRkYOjWORGRUUHf1pIQDLsd\nxo2zOgwRERkAXY4RERERS6gIEREREUuoCBERERFLqAgRERERS6gIEREREUuoCBERERFLqAgRERER\nS6gIEREREUuoCBERERFLqAgRERERS6gIEREREUuoCBERERFLqAgRERERS6gIEREREUuoCBERERFL\nqAgRERERS6gIEREREUuoCBERERFLqAgRERERS6gIEREREUuoCBERERFLqAgRERERS6gIEREREUuo\nCBERERFLOKwOYDgEAgG2bt1KQ0MD999/Pzk5OQDs3LmTqqoqvF4vK1aswGZTzSUiIhIvEuK3stPp\nZO3atUybNi3WVltbS0tLC+vXr8fn83H48GELIxQREZFLJUQRYrPZSEtLA8AwDACqqqqYMmUKAAUF\nBVRWVloW39VgnjuH2dhodRgiIiKDlhBFSE/a2tpwuVwApKSk0N7ebnFEwyw1FS4UXiIiIqNRXM0J\n+fjjj9m/fz+nTp1i5syZrFixItbX1tbGjh07KCsrIy0tjaVLlzJz5swrvpfb7SYQCADQ3t6O2+2+\n6vGPJMPpxHA6IRi0OhQREZFBiaszIRkZGSxcuJC5c+de1vfuu+/icDh49NFHWbVqFX/729+or6+/\n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\ng5yydQAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x10dd4bad0>"
]
}
],
"prompt_number": 7
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment