Jestem nowy w bokeh i próbuję dowiedzieć się, co robi columnDataSource. Pojawia się w wielu miejscach, ale nie jestem pewien jego celu i sposobu działania. Czy ktoś może się oświetlić? Przepraszam, jeśli to głupie pytanie ...Cel columnDataSource w bokeh
Odpowiedz
ColumnDataSource to obiekt, w którym przechowywane są dane wykresu Bokeh. Możesz nie używać ColumnDataSource i podawać swój wykres bezpośrednio za pomocą słowników Python, ramek danych pand, itp., Ale w przypadku niektórych funkcji, takich jak wyświetlanie okienka z informacjami o danych, gdy użytkownik najedzie myszą na glify, będziesz zmuszony użyć ColumnDataSource inaczej okno wyskakujące nie będzie w stanie uzyskać danych. Inne zastosowania byłyby podczas przesyłania strumieniowego danych.
Możesz utworzyć ColumnDataSource ze słowników i ramek danych pandy, a następnie użyć ColumnDataSource do utworzenia glifów.
Czy możesz dodać mały przykład, jak zrobić to, co napisałeś w odpowiedzi? Powiedz szereg czasowy, w którym chcesz zobaczyć dane po najechaniu myszą nad wykresem – famargar
To powinno działać:
import pandas as pd
import bokeh.plotting as bp
from bokeh.models import HoverTool, DatetimeTickFormatter
# Create the base data
data_dict = {"Dates":["2017-03-01",
"2017-03-02",
"2017-03-03",
"2017-03-04",
"2017-03-05",
"2017-03-06"],
"Prices":[1, 2, 1, 2, 1, 2]}
# Turn it into a dataframe
data = pd.DataFrame(data_dict, columns = ['Dates', 'Prices'])
# Convert the date column to the dateformat, and create a ToolTipDates column
data['Dates'] = pd.to_datetime(data['Dates'])
data['ToolTipDates'] = data.Dates.map(lambda x: x.strftime("%b %d")) # Saves work with the tooltip later
# Create a ColumnDataSource object
mySource = bp.ColumnDataSource(data)
# Create your plot as a bokeh.figure object
myPlot = bp.figure(height = 600,
width = 800,
x_axis_type = 'datetime',
title = 'ColumnDataSource',
y_range=(0,3))
# Format your x-axis as datetime.
myPlot.xaxis[0].formatter = DatetimeTickFormatter(days='%b %d')
# Draw the plot on your plot object, identifying the source as your Column Data Source object.
myPlot.circle("Dates",
"Prices",
source=mySource,
color='red',
size = 25)
# Add your tooltips
myPlot.add_tools(HoverTool(tooltips= [("Dates","@ToolTipDates"),
("Prices","@Prices")]))
# Create an output file
bp.output_file('columnDataSource.html', title = 'ColumnDataSource')
bp.show(myPlot) # et voilà.
- 1. Python Bokeh: Ustaw kolor linii oparte na kolumnie w columndatasource
- 2. Dynamicznie dodawaj/usuwaj fabułę za pomocą "bokeh serve" (bokeh 0.12.0)
- 3. Wykreślanie wykresu on_click Wybieranie wierszy daty w pythonu bokeh 2.7
- 4. Ukryj oś w Bokeh
- 5. Jaki jest cel curdoc()?
- 6. Układ bokeh dla aranżacji i aranżacji widżetów
- 7. Pozycja legendy w polu Bokeh
- 8. ładowanie danych wykresu z plików kliknięciem przycisku z bokeh
- 9. Jak odświeżyć dokument Bokeh
- 10. Kolumny i nagłówki tabeli Bokeh w programie Python nie są ustawione w jednej linii.
- 11. Sesja Bokeh i pobieranie dokumentów
- 12. Jak osadzić serwer Bokeh w aplikacji Django
- 13. Osadzanie interaktywnego Bokeh w widokach django
- 14. Bokeh - Wykreślanie danych z przerwami
- 15. Jak ustawić czcionkę legendy Bokeh?
- 16. Bokeh: zapisz fabułę, ale jej nie pokazuj
- 17. Zmiana rozmiaru bokeh - wyświetlanie cieniowanych widgetów
- 18. Jak utworzyć wykres kołowy za pomocą Bokeh?
- 19. Bokeh logarytmiczna skala na wykresie słupkowym
- 20. Python Bokeh: usuń pasek narzędzi z tabeli
- 21. Automatyczne dopasowanie wydruku Bokeh do ekranu?
- 22. jak osadzić samodzielne wykresy bokeh w szablonach django
- 23. Jak dodać paski błędów do wykresów Bokeh w python?
- 24. Jak obracać etykiety osi X w rysunku bokeh?
- 25. HoverTool dla wielu serii danych w bokeh wykres punktowy
- 26. Cel iOS Cel: wyświetlanie dokumentu RTF
- 27. jak zadzwonić mrówkę cel kiedy nadrzędny cel w pliku dziecięcej
- 28. Konwertuj cel statycznej biblioteki na cel szkieletowy w projekcie Xcode.
- 29. Cel ThreadLocal?
- 30. Jaki jest cel $ w XSLT
Jeśli jesteś zaznajomiony z R lub Pand 'DataFrame' obiektów The' ColumnDataSource' jest zasadniczo prostsza wersja tego. Jest zbiorem tablic danych (kolumn), do których można się odwoływać według nazw. Właściwa struktura wewnętrzna jest po prostu słownikiem, który odwzorowuje łańcuchy na listy/tablice. Jest to podstawowy sposób przenoszenia danych z Pythona do biblioteki przeglądarki BokehJS. – bigreddot