Результаты ipywidgets Jupyter Notebook записываются в журнал консоли; как мне вместо этого получить результаты в ячейке Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Результаты ipywidgets Jupyter Notebook записываются в журнал консоли; как мне вместо этого получить результаты в ячейке

Сообщение Anonymous »

Все есть в заголовке. Я хочу, чтобы результаты моего ipywdiget находились в ячейке Jupyter, а не в журнале консоли, поэтому, если я могу чем-то помочь, пожалуйста, спасибо.

Код: Выделить всё

from IPython.display import display, Markdown, HTML
import requests
import ipywidgets as widgets
import matplotlib.pyplot as plt
import pandas as pd
import json

def make_hal_request(query, year, doc_type):
url = f"https://api.archives-ouvertes.fr/search/?q={query}&fq=docType_s:{doc_type}&fq=producedDateY_i:{year}&wt=json"
response = requests.get(url)
try:
data = response.json()
return data
except json.JSONDecodeError:
return None
doc_types = ['ART', 'COMM', 'OUV', 'THESE']
query_widget = widgets.Textarea(value='', placeholder='Saisissez votre requête ici', description='Requête:')
year_widget = widgets.Dropdown(options=['Toutes les années'] + list(range(2010, 2023)), description='Année:')
doc_type_widget = widgets.Dropdown(options=['Tous les types'] + doc_types, description='Type de document:')
display_type_widget = widgets.RadioButtons(options=['Tableau', 'Graphique'], description='Affichage:')
button = widgets.Button(description='Effectuer la requête')
def on_button_click(b):
query = query_widget.value.strip()
year = year_widget.value
doc_type = doc_type_widget.value

if not query:
display(Markdown('Veuillez saisir une requête valide.'))
return

if year == 'Toutes les années':
year = '*'

if doc_type == 'Tous les types':
doc_type = '*'

data = make_hal_request(query, year, doc_type)

if data is None:
return

num_results = data['response']['numFound']
display(Markdown(f"Nombre total de documents : {num_results}"))

if display_type_widget.value == 'Tableau':
if year == '*':
if doc_type == '*':
years = list(range(2010, 2023))
counts = []
for year in years:
data = make_hal_request(query, year, doc_type)
if data is not None:
counts.append(data['response']['numFound'])

df = pd.DataFrame({'Année': years, 'Nombre de documents': counts})
display(df)
else:
display(Markdown('Veuillez sélectionner "Toutes les années" pour afficher les résultats sous forme de tableau.'))
else:
display(Markdown('Veuillez sélectionner "Toutes les années" pour afficher les résultats sous forme de tableau.'))

elif display_type_widget.value == 'Graphique':
if year == '*':
if doc_type == '*':
years = list(range(2010, 2023))
counts = []
for year in years:
data = make_hal_request(query, year, doc_type)
if data is not None:
counts.append(data['response']['numFound'])

plt.figure(figsize=(10, 6))
plt.plot(years, counts, marker='o')
plt.xlabel('Année')
plt.ylabel("Nombre de documents")
plt.title('Nombre de documents publiés par année')
plt.show()
else:
display(Markdown('Veuillez sélectionner "Toutes les années" pour afficher les résultats sous forme de graphique.'))
else:
display(Markdown('Veuillez sélectionner "Toutes les années" pour afficher les résultats sous forme de graphique.'))

button.on_click(on_button_click)
display(query_widget, year_widget, doc_type_widget, display_type_widget, button)
Мне нужно, чтобы результаты были в следующей ячейке моего блокнота Jupyter, если это возможно. Я не знаю, что сайт просит меня подробнее объяснить мою проблему.
Спасибо, что прочитали. Надеюсь, у тебя будет отличный день.

Подробнее здесь: https://stackoverflow.com/questions/770 ... -the-resul
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Tqdm 4.28.1 в Jupyter Notebook «IntProgress не найден. Обновите jupyter и ipywidgets».
    Anonymous » » в форуме Python
    0 Ответы
    47 Просмотры
    Последнее сообщение Anonymous
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»