コード例 #1
0
def test_plotly(remove_build):
    """Tests plotly."""
    viz = Plotly()
    ctrl = Nouislider()
    ctrl2 = Button()

    path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'build')
    layout = Layout(directory=path)
    layout.add(viz)
    layout.add_sidebar(ctrl)
    layout.add_sidebar(ctrl2)
    layout.subscribe(callback, ctrl.on_change)
    layout.subscribe(callback, ctrl2.on_click)
    layout.build()

    env = os.environ
    env['PYTHONPATH'] = '{}:{}'.format(os.getcwd(),
                                       os.environ.get('PYTHONPATH', ''))
    server = subprocess.Popen(os.path.join(path, 'src/server.py'), env=env)
    time.sleep(5)

    driver = PhantomJS()
    driver.get('http://localhost:9991')

    assert driver.title == 'Bowtie App'

    server.kill()
コード例 #2
0
ファイル: test_compile.py プロジェクト: dswah/bowtie
def test_build(remove_build):
    ctrl = Nouislider()
    viz = Plotly()

    layout = Layout()
    layout.add_controller(ctrl)
    layout.add_visual(viz)
    layout.subscribe(ctrl.on_change, callback)
    layout.build()
コード例 #3
0
ファイル: test_compile.py プロジェクト: aznthanh23/bowtie
def test_build(remove_build):
    """Tests the build process."""
    ctrl = Nouislider()
    viz = Plotly()

    path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'build')
    layout = Layout(directory=path)
    layout.add_sidebar(ctrl)
    layout.add(viz)
    layout.subscribe(callback, ctrl.on_change)
    layout.build()
コード例 #4
0
ファイル: test_compile.py プロジェクト: www3838438/bowtie
def test_build(build_path):
    """Tests the build process."""
    reset_uuid()
    ctrl = Nouislider()
    viz = Plotly()

    app = App(directory=build_path)
    app.add_sidebar(ctrl)
    app.add(viz)
    app.subscribe(callback, ctrl.on_change)
    app.build()
コード例 #5
0
ファイル: test_compile.py プロジェクト: tomymacmillan/bowtie
def test_build(build_path):
    """Tests the build process."""
    reset_uuid()
    ctrl = Nouislider()
    viz = Plotly()

    layout = Layout(directory=build_path)
    layout.add_sidebar(ctrl)
    layout.add(viz)
    layout.subscribe(callback, ctrl.on_change)
    layout.build()
コード例 #6
0
ファイル: test_compile.py プロジェクト: ylwb/bowtie
def test_build(build_reset, monkeypatch):
    """Tests the build process."""
    reset_uuid()
    ctrl = Nouislider()
    viz = Plotly()

    app = App(__name__, sidebar=True)
    app.add_sidebar(ctrl)
    app.add(viz)
    app.subscribe(ctrl.on_change)(callback)
    # pylint: disable=protected-access
    app._build()
コード例 #7
0
ファイル: test_compile.py プロジェクト: thomasstryb/bowtie
def test_build(build_path, monkeypatch):
    """Tests the build process."""
    monkeypatch.setattr(App, '_sourcefile',
                        lambda self: 'bowtie.tests.test_compile')
    reset_uuid()
    ctrl = Nouislider()
    viz = Plotly()

    app = App()
    app.add_sidebar(ctrl)
    app.add(viz)
    app.subscribe(callback, ctrl.on_change)
    # pylint: disable=protected-access
    app._build()
コード例 #8
0
#!/usr/bin/env python
"""Example Bowtie App."""

from bowtie import App
from bowtie.control import Nouislider
from bowtie.visual import Plotly
from bowtie import Pager, cache, command

import numpy as np
from numpy import random as rng
import plotlywrapper as pw

app = App(debug=True, sidebar=True)
pager = Pager()
sigma = Nouislider(start=0., minimum=0.1, maximum=50.)
mainplot = Plotly()

app.add_sidebar(sigma)
app.add(mainplot)


def initialize():
    cache.save('data', [0.] * 100)


@app.subscribe(pager)
def upgraph():
    data = cache.load('data')
    value = float(sigma.get())
    data.pop(0)
    data.append(value * rng.randn() + data[-1])
コード例 #9
0
'''
The only working example in bowtie so far. ¯\(°_o)/¯
python 2.7
bowtie==0.3.2
'''
from bowtie.visual import Plotly
from bowtie.control import Nouislider
import numpy as np
import plotlywrapper as pw

sine_plot = Plotly()
freq_slider = Nouislider(caption='frequency', minimum=1, maximum=10, start=5)


def listener(freq):
    freq = float(freq[0])
    t = np.linspace(0, 10, 100)
    sine_plot.do_all(pw.line(t, np.sin(freq * t)).to_json())


from bowtie import command


@command
def construct(path):
    from bowtie import Layout
    layout = Layout(directory=path)
    layout.add_sidebar(freq_slider)
    layout.add(sine_plot)
    layout.subscribe(listener, freq_slider.on_change)
    layout.build()
コード例 #10
0
ファイル: test_plotly.py プロジェクト: thomasstryb/bowtie
import subprocess
import time

import pytest
from plotly.graph_objs import Scatter
from plotly.graph_objs import Layout as PlotLayout

from bowtie import App
from bowtie.control import Nouislider, Button
from bowtie.visual import Plotly
from bowtie.tests.utils import reset_uuid

reset_uuid()

# pylint: disable=invalid-name
viz = Plotly()
ctrl = Nouislider()
ctrl2 = Button()


def callback(*args):
    """dummy function"""
    # pylint: disable=unused-argument
    chart = {
        "data": [Scatter(x=[1, 2, 3, 4], y=[4, 1, 3, 7])],
        "app": PlotLayout(title="hello world")
    }
    viz.do_all(chart)


# pylint: disable=unused-argument
コード例 #11
0
business = pd.read_pickle('yelp_business.pkl.gz')
checkin = pd.read_pickle('yelp_checkin.pkl.gz')
reviews = pd.read_pickle('reviewsub.pkl.gz')


def dropdown_categories():
    allcats = business.categories.str.split(';')
    cats = []
    for cat in allcats:
        cats += cat
    categories = sorted(set(cats))
    return Dropdown(values=categories, labels=categories, caption='Category')


catdd = dropdown_categories()
stars = Plotly()
revdate = Plotly()
busy = Plotly()


def gen_stars(label):
    buss1 = business[business.categories.str.contains(label)]

    cache['bids'] = buss1.business_id
    chart = pw.scatter(buss1.review_count, buss1.stars, text=buss1.name)
    chart.xlabel('reviews')
    chart.ylabel('stars')
    chart.title(label)
    chart.layout['hovermode'] = 'closest'
    return chart
コード例 #12
0
iris = datasets.load_iris()

attrs = iris.feature_names

axis_map = {
    "sepal length (cm)": 0,
    "sepal width (cm)": 1,
    "petal length (cm)": 2,
    "petal width (cm)": 3,
}

xdown = Dropdown(caption='X variable', labels=attrs, values=attrs)
ydown = Dropdown(caption='Y variable', labels=attrs, values=attrs)
clslider = Slider(caption='Cluster count', start=3, minimum=1, maximum=9)

kplot = Plotly()


def Kplot(x, y, N):
    if x is None or y is None or N is None:
        return
    x_var = xdown.get()['value']
    y_var = ydown.get()['value']
    x = axis_map[x_var]
    y = axis_map[y_var]
    N = clslider.get()
    k_means = KMeans(n_clusters= N)
    k_means.fit(iris.data)
    palette = sns.palettes.color_palette('hls', N)
    colormap = np.array(palette.as_hex())[k_means.labels_]
    data = go.Scatter(
コード例 #13
0
from sklearn.kernel_ridge import KernelRidge

iris = pd.read_csv('./iris.csv')
iris = iris.drop(iris.columns[0], axis=1)

attrs = iris.columns[:-1]

xdown = DropDown(caption='X variable', labels=attrs, values=attrs)
ydown = DropDown(caption='Y variable', labels=attrs, values=attrs)
zdown = DropDown(caption='Z variable', labels=attrs, values=attrs)
alphaslider = Slider(caption='alpha parameter',
                     start=10,
                     minimum=1,
                     maximum=50)

mainplot = Plotly()
mplot3 = Plotly()
linear = Plotly()
table1 = SmartGrid()


def pairplot(x, y):
    print('hellox')
    if x is None or y is None:
        return
    x = x['value']
    y = y['value']
    plot = pw.Chart()
    for i, df in iris.groupby('Species'):
        plot += pw.scatter(df[x], df[y], label=i)
    plot.xlabel(x)