Я ищу подкласс XY-графика в Pygal, так как я хочу попробовать переопределить некоторые из методов Graph, такие как _x_axis
и _y_axis
.Как подклассы диаграмм Пигала
import pygal
from pygal.style import Style, CleanStyle
class CustomXY(pygal.XY):
def __init__(self, *args, **kwargs):
super(CustomXY, self).__init__(*args, **kwargs)
def _x_axis(self):
pass
def _y_axis(self):
pass
scatter = CustomXY(stroke=False, show_y_guides=False, truncate_legend=20)
Когда я пытаюсь запустить этот код, я получаю эту ошибку:
Traceback (most recent call last):
File "pygal_test2.py", line 12, in <module>
scatter = CustomXY(stroke=False, show_y_guides=False, truncate_legend=20)
File "pygal_test2.py", line 6, in __init__
super(CustomXY, self).__init__(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/pygal/ghost.py", line 71, in __init__
self.cls = REAL_CHARTS[name]
KeyError: 'CustomXY'
Замену CustomXY(pygal.XY)
с CustomXY(pygal.graph.xy.XY)
дает мне эту ошибку:
Traceback (most recent call last):
File "pygal_test2.py", line 12, in <module>
scatter = CustomXY(stroke=False, show_y_guides=False, truncate_legend=20)
File "pygal_test2.py", line 6, in __init__
super(CustomXY, self).__init__(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/pygal/graph/line.py", line 33, in __init__
super(Line, self).__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'stroke'
Что является предпочтительным способом подкласса Pygal графики?
Если вы хотите подкласс, вы создаете подкласс. Если вы хотите изменить базовый класс, ** затем ** вы используете fork и меняете базовый класс. Существует два разных варианта использования. –
@kpie Это действительно комментарий, а не ответ. Конечно, я его разворачиваю, но тогда я использую fork + мое приложение вместо моего приложения. – ChrisGuest