2017-01-16 22 views
0

私はkivyウィジェット内にグラフを埋め込むための解決策を見つけようとしています。 kivyガーデングラフ(sin波)を使用する例は1つしかないようですが、これをアプリで実装するのは難しいです。ここでKivyグラフがウィジェットに表示されない

私は

#!/usr/bin/kivy 
import kivy 


from random import random 
from kivy.app import App 
from kivy.lang import Builder 
from kivy.uix.screenmanager import ScreenManager, Screen 
from kivy.uix.gridlayout import GridLayout 
from kivy.uix.boxlayout import BoxLayout 
from kivy.uix.button import Button 
from kivy.uix.switch import Switch 
from kivy.uix.label import Label 
from kivy.garden.graph import Graph, MeshLinePlot 
from math import sin 
import matplotlib.pyplot as plt 
import matplotlib.animation as animation 
from kivy.graphics import * 

from kivy.config import Config 
Config.set('graphics', 'width', '800') 
Config.set('graphics', 'height', '480') 

Builder.load_string(""" 

<Menuscreen>: 
    #Handling the gesture event. 
    ScreenManager: 
     id: manager 
     Screen: 
      id: main_screen 
      name:'main_screen' 
      FloatLayout: 

       MyGraph: 
        size_hint: None, None 
        size: 800,600 
        pos: 25,25 



""") 

class MyGraph(Graph): 
    def __init__(self, **kwargs): 
     super(MyGraph, self).__init__(**kwargs) 
     self.xlabel = 'This is the X axis' 
     self.ylabel = 'This is the Y axis' 
     self.x_ticks_minor = 5 
     self.x_ticks_major = 25 
     self.y_ticks_major = 1 
     self.y_grid_label = True 
     self.x_grid_label = True 
     self.x_grid = True 
     self.y_grid = True 
     self.xmax = 100 
     self.xmin = -0 
     self.ymin = -1 
     self.ymax = 1 
     self.plot = MeshLinePlot(color=[1, 0, 0, 1]) 
     self.plot.points = [(x, sin(x/10.)) for x in range(0, 100)] 
     self.add_plot(self.plot) 

class MenuScreen(Screen): 
    pass 

sm = ScreenManager() 
menu_screen = MenuScreen(name='menu') 
sm.add_widget(menu_screen) 


class TestApp(App): 

    def build(self): 

     return sm 

if __name__ == '__main__': 
    TestApp().run() 

軸ラベルのすべてで働いていたコードが表示されているように見えるされているが、グラフ上の点は表示されません。これが現れるように私が紛失しているものがありますか?あなたの助言のために事前に感謝します。

答えて

0

のGithubでMostafarは、この同じ質問をし、そして@Tshirtmanのおかげでは、次のような答えが提供されていました:

mostafarが@tshirtmanとのチャットの後2014年4月27日にコメントし、彼は問題がstencilbufferであるがわかりましたそして、グラフモジュールのinit.py線139を変更することにより:それは私の例に表示されたが、そこであろうう

self._fbo = FBO(サイズ= self.size、with_stencilbuffer =偽)グラフ(SmoothLinePlot)の新機能に関する多くの問題があります。

リンク:https://github.com/kivy-garden/garden.graph/issues/7

関連する問題