如果我使用Kivy Garden graph绘制一个线性图,我可以显示x和y记号/标签。如果轴是对数标度的,我就找不到给它贴标签的方法
我有一个MWE,它在y-线性和y-对数图上绘制一个函数,但是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类有问题吗
很难找到文档,但是在
kivy.garden.graph
的代码中,它说:而
y_ticks_major
的文档说:请注意,如果它是
log
标度,则y_ticks_major
的值不是直观的可以使用以下值(例如)获取
Y
轴上的记号、标签和网格:相关问题 更多 >
编程相关推荐