cellule d'effondrement dans le carnet de notes de jupyter
j'utilise le carnet Jupyter d'ipython. Disons que j'ai défini une fonction qui occupe beaucoup d'espace sur mon écran. Est-il un moyen de l'effondrement de la cellule?
je veux que la fonction reste exécutée et appelable, mais je veux cacher / effondrer la cellule afin de mieux visualiser le carnet. Comment puis-je faire cela?
8 réponses
le paquet jupyter contrib nbextensions
Python contient une extension codable qui peut être activée dans le bloc-notes. Suivez le lien (Github) pour la documentation.
à installer en utilisant la ligne de commande:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pour faciliter leur gestion, je recommande aussi le paquet jupyter nbextensions configurator
. Cela fournit un onglet supplémentaire dans votre interface de bloc-notes d'où vous pouvez facilement (de)Activer toutes les extensions installées.
Installation:
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
vous pouvez créer une cellule et y mettre le code suivant:
%%html
<style>
div.input {
display:none;
}
</style>
exécuter cette cellule masquera toutes les cellules d'entrée. Pour afficher de nouveau, vous pouvez utiliser le menu pour effacer toutes les sorties.
sinon vous pouvez essayer les extensions de bloc-notes comme ci-dessous:
https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/Home_3x
créer personnalisé.js fichiers dans ~/.jupyter/custom/ avec le contenu suivant:
$("<style type='text/css'> .cell.code_cell.collapse { max-height:30px; overflow:hidden;} </style>").appendTo("head");
$('.prompt.input_prompt').on('click', function(event) {
console.log("CLICKED", arguments)
var c = $(event.target.closest('.cell.code_cell'))
if(c.hasClass('collapse')) {
c.removeClass('collapse');
} else {
c.addClass('collapse');
}
});
après enregistrement, redémarrez le serveur et rafraîchissez le bloc-notes. Vous pouvez réduire une cellule en cliquant sur l'étiquette d'entrée ([]).
l'extension hide_code vous permet de cacher des cellules individuelles, et/ou les invites à côté d'elles. Installer comme
pip3 install hide_code
Visite https://github.com/kirbs-/hide_code/ pour plus d'informations sur cette extension.
tout D'abord, suivre les instructions D'Energya:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
la seconde est la clé: après avoir ouvert le carnet jupiter, cliquez L'onglet NB extension. Maintenant rechercher " colla" à partir de L'outil de recherche fourni par Nbextension (pas par le navigateur web) , puis vous trouverez quelque chose appelé "Caps repliables"
c'est Ce que vous voulez!
j'avais un problème similaire et les" extensions NB " soulignées par @Energya fonctionnaient très bien et sans effort. Les instructions d'installation sont simples (j'ai essayé avec anaconda sur Windows) pour les extensions de carnet et pour leur configurateur .
cela dit, je voudrais ajouter que les extensions suivantes doivent être d'intérêt.
-
Masquer Les Entrées | Cette extension permet de cacher un codecell dans un carnet. Cela peut être réalisé en cliquant sur le bouton de la barre d'outils:
-
têtes repliables / permet au carnet d'avoir des sections repliables, séparées par des têtes
-
Codefolding | Ce qui a été mentionné, mais j'ajoute qu'il est complet
il y a aussi une version améliorée de la suggestion de Pan Yan. Il ajoute le bouton qui affiche les cellules de code de retour:
%%html
<style id=hide>div.input{display:none;}</style>
<button type="button"
onclick="var myStyle = document.getElementById('hide').sheet;myStyle.insertRule('div.input{display:inherit !important;}', 0);">
Show inputs</button>
ou python:
# Run me to hide code cells
from IPython.core.display import display, HTML
display(HTML(r"""<style id=hide>div.input{display:none;}</style><button type="button"onclick="var myStyle = document.getElementById('hide').sheet;myStyle.insertRule('div.input{display:inherit !important;}', 0);">Show inputs</button>"""))
JupyterLab support cell collapsing. En cliquant sur la barre bleue de la cellule à gauche, vous pliez la cellule.