Пример #1
0
 def build(self):
     return RstDocument(text=__doc__)
Пример #2
0
    def __init__(self, **kwargs):
        '''
        Initial the show layout with a default picture and an empty input box.
        '''

        super(ShowLayout, self).__init__(**kwargs)
        self.cols = 2
        self.col_force_default = True
        self.col_default_width = 550
        self.row_force_default = True
        self.row_default_height = 550

        data = []
        urlData = "https://raw.githubusercontent.com/plotly/datasets/master/miserables.json"
        webURL = urllib.request.urlopen(urlData)
        readData = webURL.read()
        encoding = webURL.info().get_content_charset('utf-8')
        data = json.loads(readData.decode(encoding))
        N = len(data['nodes'])
        L = len(data['links'])
        Edges = [(data['links'][k]['source'], data['links'][k]['target'])
                 for k in range(L)]

        G = igraph.Graph(Edges, directed=False)
        labels = []
        group = []
        for node in data['nodes']:
            labels.append(node['name'])
            group.append(node['group'])

        layt = G.layout('kk', dim=3)
        Xn = [layt[k][0] for k in range(N)]  # x-coordinates of nodes
        Yn = [layt[k][1] for k in range(N)]  # y-coordinates
        Zn = [layt[k][2] for k in range(N)]  # z-coordinates
        Xe = []
        Ye = []
        Ze = []
        for e in Edges:
            Xe += [layt[e[0]][0], layt[e[1]][0],
                   None]  # x-coordinates of edge ends
            Ye += [layt[e[0]][1], layt[e[1]][1], None]
            Ze += [layt[e[0]][2], layt[e[1]][2], None]
        trace1 = go.Scatter3d(x=Xe,
                              y=Ye,
                              z=Ze,
                              mode='lines',
                              line=dict(color='rgb(125,125,125)', width=1),
                              hoverinfo='none')

        trace2 = go.Scatter3d(x=Xn,
                              y=Yn,
                              z=Zn,
                              mode='markers',
                              name='actors',
                              marker=dict(symbol='circle',
                                          size=6,
                                          color=group,
                                          colorscale='Viridis',
                                          line=dict(color='rgb(50,50,50)',
                                                    width=0.5)),
                              text=labels,
                              hoverinfo='text')

        axis = dict(showbackground=False,
                    showline=False,
                    zeroline=False,
                    showgrid=False,
                    showticklabels=False,
                    title='')

        layout = go.Layout(
            title=
            "Network of coappearances of characters in Victor Hugo's novel<br> Les Miserables (3D visualization)",
            width=1000,
            height=1000,
            showlegend=False,
            scene=dict(
                xaxis=dict(axis),
                yaxis=dict(axis),
                zaxis=dict(axis),
            ),
            margin=dict(t=100),
            hovermode='closest',
            annotations=[
                dict(
                    showarrow=False,
                    text=
                    "Data source: <a href='http://bost.ocks.org/mike/miserables/miserables.json'>[1] miserables.json</a>",
                    xref='paper',
                    yref='paper',
                    x=0,
                    y=0.1,
                    xanchor='left',
                    yanchor='bottom',
                    font=dict(size=14))
            ],
        )
        data = [trace1, trace2]
        fig = go.Figure(data=data, layout=layout)
        htmlFile = plot(fig, filename='my-graph.html', output_type='div')
        self.picture = RstDocument(text=htmlFile)
        self.add_widget(self.picture)

        self.frequency_text = ''
        self.frequency = TextInput(text=self.frequency_text)

        self.add_widget(self.frequency)
Пример #3
0
 def build(self):
     document = RstDocument(text=match)
     return document
Пример #4
0
        #self.orientation='vertical'
        self.padding = (20, 5, 20, 20)
        self.cols = 1
        self.rows = 2

        self.lp = LeftPane()
        self.rp = RightPane()

        self.add_widget(self.lp)

        self.add_widget(self.rp)


pastConvs = []
pastConvTable = RstDocument(text=str(
    tabulate(pastConvs,
             headers=["INCH DEC", "INCH FRAC", "MILLIMETERS"],
             tablefmt="rst")))


class LeftPane(GridLayout):
    def __init__(self, **kwargs):
        super(LeftPane, self).__init__(**kwargs)
        self.cols = 1
        self.rows = 4
        self.row_force_default = True
        self.row_default_height = 40

        self.size_hint = (500, 0.3)

        self.spacing = (0, 10)
Пример #5
0
 def get_rst_doc(self, doc):
     """a crash happened on android when using a KV file or importing at the top"""
     from kivy.uix.rst import RstDocument
     return RstDocument(source=doc)
Пример #6
0
    def build_layout(self):
        box_base = BoxLayout(orientation="vertical", padding=0)

        ctrl_box_haut = BoxLayout(orientation="horizontal",
                                  padding=10,
                                  size_hint_y=None)

        # Nom de l'individu
        ctrl_label = Label(
            text="[color=000000][size=28][b]%s[/b][/size][/color]" %
            self.dictIndividu["nom_complet"],
            markup=True,
            size_hint_y=None)
        ctrl_box_haut.add_widget(ctrl_label)

        # Photo
        photo = self.dictIndividu["photo"]
        if photo == None:
            if self.dictIndividu["IDcivilite"] == 1:
                photo = UTILS_Images.GetTextureFromFichier("images/homme.png")
            if self.dictIndividu["IDcivilite"] in (2, 3):
                photo = UTILS_Images.GetTextureFromFichier("images/femme.png")
            if self.dictIndividu["IDcivilite"] == 4:
                photo = UTILS_Images.GetTextureFromFichier("images/garcon.png")
            if self.dictIndividu["IDcivilite"] == 5:
                photo = UTILS_Images.GetTextureFromFichier("images/fille.png")

        if photo != None:
            ctrl_image = Image(texture=photo, size_hint_x=None)
            ctrl_box_haut.add_widget(ctrl_image)

        box_base.add_widget(ctrl_box_haut)

        # Onglets
        ctrl_onglets = TabbedPanel(do_default_tab=False,
                                   padding=10,
                                   tab_pos='top_left')  # Vertical=left_bottom
        box_base.add_widget(ctrl_onglets)

        liste_onglets = [
            {
                "code": "messages",
                "titre": u"Messages"
            },
            {
                "code": "identite",
                "titre": u"Identité"
            },
            {
                "code": "liens",
                "titre": u"Liens"
            },
            {
                "code": "coordonnees",
                "titre": u"Coordonnées"
            },
            {
                "code": "scolarite",
                "titre": u"Scolarité"
            },
            {
                "code": "activites",
                "titre": u"Activités"
            },
            {
                "code": "medical",
                "titre": u"Médical"
            },
        ]

        for dictOnglet in liste_onglets:
            onglet = TabbedPanelItem(text=dictOnglet["titre"])
            doc = RstDocument(text=self.GetTexteOnglet(dictOnglet["code"]))
            onglet.add_widget(doc)
            ctrl_onglets.add_widget(onglet)

        # Barre d'état
        grid = GridLayout(cols=3,
                          rows=1,
                          row_force_default=True,
                          row_default_height=30,
                          spacing=(5, 5),
                          padding=10,
                          size_hint=(1, None),
                          height=50)
        grid.canvas.before.add(Color(0.128, 0.128, 0.128))

        def redraw(self, args):
            grid.bg_rect.size = self.size
            grid.bg_rect.pos = self.pos

        with grid.canvas.before:
            grid.bg_rect = Rectangle(pos=grid.pos, size=grid.size)
        grid.bind(pos=redraw, size=redraw)

        #ctrl_bouton = Button(id="consommations", text="Consommations", width=200, size_hint=(None, None))
        #grid.add_widget(ctrl_bouton)

        box_base.add_widget(grid)

        # Finalisation du layout
        self.add_widget(box_base)