我刚刚在django中发现了GridLinePlot()
的一些奇怪的行为
项目。似乎绘制的线的形状是好的,但是那个
y轴标签不合适。我正在使用的代码如下:
class MyLineChartDrawing(Drawing):
def __init__(self, width=600, height=400, *args, **kw):
apply(Drawing.__init__,(self,width,height)+args,kw)
self.add(GridLinePlot(), name='chart')
self.chart.x = 50 # The x coordinate of the reference point
self.chart.y = 30 # The y coordinate of the reference point
self.chart.width = self.width - 150 # The width of the chart
self.chart.height = self.height - 75 # The height of the chart
self.chart.data = [[('20110930', 80), ('20111007', 116), ('20111014',139), ('20111021', 163), ('20111028', 105), ('20111104', 97), ('20111111', 112)]]
def HttpChart (self, title, XLabel, YLabel, data, isPercent=False):
return (renderSVG.drawToString(self))
要打电话给我,我只是做以下事情:
d = MyLineChartDrawing(width=chartWidth, height=chartHeight)
return HttpResponse(d.HttpChart ("", "", "MyYAxisTitle", edata),'image/svg+xml')
似乎轴上有一些缩放比例未应用于绘制的坐标,当我添加更多数据时,这变得非常显着。例如,这个self.chart.data
列表只是将一个点添加到列表的前面,导致缩放从微妙的错误变为大约50%。
self.chart.data = [[('20110923', 32), ('20110930', 80), ('20111007', 116), ('20111014', 139), ('20111021', 163), ('20111028', 105), ('20111104', 97), ('20111111', 112)]]
我正在使用在OSX 10.7.2上运行的ReportLab 2.5,Django 1.3.0,Python 2.7。
提前感谢您的任何帮助或建议。