Если я строю линейный график, используя Kivy Garden Graph, я могу показывать метки и метки x и y. Я не могу найти способ пометить ось, если она масштабирована по логу.
У меня есть MWE, который отображает функцию на графике y-linear и y-log, но метки оси y не будутотображаются на графике журнала.
from kivy.lang import Builder
from kivy.garden.graph import Graph, MeshLinePlot
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.recycleview import RecycleView
from kivy.properties import BooleanProperty
import math
Builder.load_string("""
<MyLayout>:
orientation: 'vertical'
spacing: 10
LinearGraph:
LogGraph:
""")
class MyLayout(BoxLayout):
pass
class LinearGraph(Graph):
def __init__(self,**kwargs):
super(LinearGraph, self).__init__(**kwargs)
self.xlabel='X'
self.ylabel='Y'
self.x_ticks_major=25
self.x_ticks_minor=5
self.x_grid_label=True
self.y_ticks_major=1
self.y_grid_label=True
self.xmin=0
self.xmax=100
self.ymin=0.1
self.ymax=10
self.ylog=False
self.x_grid=True
self.y_grid=True
self.plot=MeshLinePlot(color=[1,1,1,1])
self.add_plot(self.plot)
self.plot.points=[(x, math.sin(x / 10.)+2) for x in range(0, 101)]
class LogGraph(Graph):
def __init__(self,**kwargs):
super(LogGraph, self).__init__(**kwargs)
self.xlabel='X'
self.ylabel='Y'
self.x_ticks_major=25
self.x_ticks_minor=5
self.x_grid_label=True
self.y_ticks_major=1
self.y_grid_label=True
self.xmin=0
self.xmax=100
self.ymin=0.1
self.ymax=10
self.ylog=True
self.x_grid=True
self.y_grid=True
self.plot=MeshLinePlot(color=[1,1,1,1])
self.add_plot(self.plot)
self.plot.points=[(x, math.sin(x / 10.)+2) for x in range(0, 101)]
class MainscreenApp(App):
def build(self):
return MyLayout()
if __name__=="__main__":
MainscreenApp().run()
Я бы не ожидал, что тики исчезнут - есть ли проблема с использованием класса Graph?