When you want to create plots for your journal publications, you often end up with problems like wrong font size, too much space around a figure, or all kind of scaling related issues. This becomes even worse if you try to align multiple plots to each other in a grid, where slight differences in size …
Continue reading Creating Publication-Ready Figures
Author:Carsten König
My Top 10 Tips for Python
I was recently asked what are my top 10 tips for Python. Well, here they are (in no specific order). Use Python 3 (3.9 is the latest, Anaconda is at Python 3.8 at the moment, which is absolutely fine) – Python 2 is outdated and will get no more updates. Also, Python is becoming faster …
Continue reading My Top 10 Tips for Python
Matplotlib Performance
When generating images for ever larger growing data sets, the performance in creating and writing them to the disk is no longer negligible. Imagine a data set with 10,000 astronomical sources, each observed in 10 bands. Just writing out an image for each band would result in 100,000 images – leaving apart any analysis plots. …
Continue reading Matplotlib Performance
Contiuous Learning
Today I want to give a bit of insight into what resources I used in order to improve my knowledge and skill set for data analysis. Although I have many years of experience in software development and using Python, I felt like I was no longer in touch with the latest developments technology wise. Furthermore, …
Continue reading Contiuous Learning
Adjusting Jupyter notebook Font Size
For screen presentations, I found the original font-size to be too small. Therefore, adjusting the font size permanently would be nice to have. You can do so by adding a custom Cascading Style Sheet (CSS) to your Jupyter configuration directory (usually in $HOME/.jupyter/). First you add a subdirectory called “custom” to your Jupyter configuration directory …
Continue reading Adjusting Jupyter notebook Font Size
Customizing Jupyter Notebooks for Presentations and Reports
Jupyter Notebooks are ideal for data analysis when using Python. They allow you to analyze the data, while at the same time writing documentation. The data processing and report writing become intertwined: while you explore and analyze the data, you already have a draft of your report at hand. Unfortunately, Jupyter Notebooks are not too …
Continue reading Customizing Jupyter Notebooks for Presentations and Reports
Going for Python 3.8 with Conda
In order to migrate to the latest Python release before the Anaconda Download packages haven been upgraded to it (in my case Python 3.8), I had to first upgrade my Conda installation: And then create a new Python 3.8 environment: Unfortunately, a couple of packages are not yet there, so installing the full Anaconda package …
Continue reading Going for Python 3.8 with Conda
Globals are not global in Python
Well, the title already says it. Globals are module wide, not global global…. This means, that if you do The global would not change. This is because the global keyword only makes variables accessible to the module level – not beyond. So if you instead of importing the module execute the file, it will run …
Continue reading Globals are not global in Python
Running a Jupyter Notebook remotely in single line
In order to run a Jupyter Notebook on a remote server (here: SERVER), one usually first opens a shell, logs in on the remote server, starts the jupyter notebook server. Then usually you open a new shell, and forward a local port using ssh. And finally you open the notebook webpage in your browser (here: Firefox). …
Continue reading Running a Jupyter Notebook remotely in single line
Using Conda for Python 2.7 vs 3.x switching
Needing a system that allows for easy switching of Python versions or, within one version, switching between different environments, Conda is the easiest way to go. Conda is a package and environment management system, that was exactly developed for this purpose. With Anaconda being a collection of Python packages we are set to go. The …
Continue reading Using Conda for Python 2.7 vs 3.x switching