本文整理汇总了Python中reportlab.graphics.charts.lineplots.LinePlot类的典型用法代码示例。如果您正苦于以下问题:Python LinePlot类的具体用法?Python LinePlot怎么用?Python LinePlot使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LinePlot类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: add_linePlotChart
def add_linePlotChart(self, title, data, size=(PAGE_WIDTH-100, 300)):
__chart_width, __chart_heigh = size[0], size[1]
__draw = Drawing(__chart_width, __chart_heigh)
__draw.add(String(20, __chart_heigh-10, title, fontName="chsFont",fontSize=18, fillColor=colors.black))
#LinePlot基本属性
lp = LinePlot()
lp.x, lp.y = 25, 50
lp.width, lp.height = __chart_width-50, __chart_heigh-100
lp.data = data
lp.joinedLines = 1
#X轴配置
lp.xValueAxis.valueMin = min([x[0] for x in data[0]])
lp.xValueAxis.valueMax = max([x[0] for x in data[0]])
valueRange = lp.xValueAxis.valueMax - lp.xValueAxis.valueMin
lp.xValueAxis.valueStep = valueRange / 10.0
#Y轴配置
yValueMin = min([x[1] for x in data[0]])
yValueMax = max([x[1] for x in data[0]])
yValueRange = yValueMax - yValueMin
if (yValueMin-yValueRange/2) > 0:
lp.yValueAxis.valueMin = yValueMin - yValueRange/2
else:
lp.yValueAxis.valueMin = yValueMin
lp.yValueAxis.valueMax = yValueMax+ 0.01 + yValueRange/3 #+1避免当y轴最大值和最小值相等时valuseStep为0,导致绘图库计算y轴格数时出现除零错误
lp.yValueAxis.valueStep = (lp.yValueAxis.valueMax - lp.yValueAxis.valueMin)/10
lp.yValueAxis.visibleGrid = 1
lp.yValueAxis.gridStrokeWidth = 0.5
lp.yValueAxis.gridStrokeColor = colors.gray
__draw.add(lp)
self.__content.append(__draw)
开发者ID:zenist,项目名称:ZLib,代码行数:31,代码来源:pdf_helper.py
示例2: sample9c
def sample9c():
lp = LinePlot()
lp.yValueAxis = LogYValueAxis()
lp.x += 20
lp.y += 20
lp.height = 250
lp.width = 350
data = [[(i, float(i)**2.) for i in range(10, 1001, 10)], ]
data.append([(i, float(i)**3.) for i in range(10, 1001, 10)])
data.append([(i, float(i)**1.6) for i in range(10, 1001, 10)])
lp.data = data
lp.lines.strokeWidth = .2
lp.lines[0].strokeColor = colors.red
lp.lines[1].strokeColor = colors.blue
lp.lines[2].strokeColor = colors.green
lp.xValueAxis.visibleGrid = 1
lp.xValueAxis.gridStrokeDashArray = [1, 1]
lp.yValueAxis.visibleGrid = 1
lp.yValueAxis.visibleSubTicks = 1
lp.yValueAxis.visibleSubGrid = 1
lp.yValueAxis.subTickNum = 4
lp.yValueAxis.gridStrokeDashArray = [.3, 1]
lp.yValueAxis.subGridStrokeDashArray = [.15, 1]
drawing = Drawing(400,300)
drawing.add(lp)
return drawing
开发者ID:,项目名称:,代码行数:29,代码来源:
示例3: line_plot
def line_plot(O, xy_max, data, label_font_size):
if (reportlab is None): return
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.widgets.markers import makeMarker
from reportlab.lib import colors
lp = LinePlot()
lp.x = 40
lp.y = 40
lp.height = 120
lp.width = 120
lp.data = [[(0,0),(xy_max,xy_max)], data]
lp.lines[0].strokeColor = colors.Color(*[0.8]*3)
lp.lines[0].strokeWidth = 0.5
lp.lines[1].strokeColor = colors.white
lp.lines[1].strokeWidth = 0
lp.lines[1].symbol = makeMarker("Circle")
lp.lines[1].symbol.strokeWidth = 0.5
lp.joinedLines = 1
lp.strokeColor = colors.Color(*[0.8]*3)
lp.strokeWidth = 1
lp.xValueAxis.valueMin = 0
lp.xValueAxis.valueMax = xy_max
lp.xValueAxis.valueSteps = range(xy_max+1)
lp.xValueAxis.strokeWidth = 1
lp.xValueAxis.tickDown = 3
lp.xValueAxis.labels.fontSize = label_font_size
lp.yValueAxis.valueMin = 0
lp.yValueAxis.valueMax = xy_max
lp.yValueAxis.valueSteps = range(xy_max+1)
lp.yValueAxis.strokeWidth = 1
lp.yValueAxis.tickLeft = 3
lp.yValueAxis.labels.fontSize = label_font_size
return lp
开发者ID:cctbx,项目名称:cctbx-playground,代码行数:33,代码来源:tst_tardy_eval.py
示例4: _draw_scatter_plot
def _draw_scatter_plot(self, cur_drawing, x_start, y_start,
x_end, y_end):
"""Draw a scatter plot on the drawing with the given coordinates."""
scatter_plot = LinePlot()
# set the dimensions of the scatter plot
scatter_plot.x = x_start
scatter_plot.y = y_start
scatter_plot.width = abs(x_start - x_end)
scatter_plot.height = abs(y_start - y_end)
scatter_plot.data = self.display_info
scatter_plot.joinedLines = 0
# set the axes of the plot
x_min, x_max, y_min, y_max = self._find_min_max(self.display_info)
scatter_plot.xValueAxis.valueMin = x_min
scatter_plot.xValueAxis.valueMax = x_max
scatter_plot.xValueAxis.valueStep = (x_max - x_min) / 10.0
scatter_plot.yValueAxis.valueMin = y_min
scatter_plot.yValueAxis.valueMax = y_max
scatter_plot.yValueAxis.valueStep = (y_max - y_min) / 10.0
self._set_colors_and_shapes(scatter_plot, self.display_info)
cur_drawing.add(scatter_plot)
开发者ID:sip958,项目名称:biopython,代码行数:28,代码来源:Comparative.py
示例5: sample9a
def sample9a():
lp = LinePlot()
lp.yValueAxis = LogYValueAxis()
lp.x += 20
lp.y += 20
data = [[(i, float(i)**2.) for i in range(10, 1001, 10)], ]
data.append([(i, float(i)**3.) for i in range(10, 1001, 10)])
data.append([(i, float(i)**1.6) for i in range(10, 1001, 10)])
lp.data = data
lp.lines.strokeWidth = .2
lp.lines[0].strokeColor = colors.red
lp.lines[1].strokeColor = colors.blue
lp.lines[2].strokeColor = colors.green
drawing = Drawing(400,200)
drawing.add(lp)
return drawing
开发者ID:,项目名称:,代码行数:18,代码来源:
示例6: test03
def test03():
# 最终太阳黑子图形程序
from urllib import urlopen
from reportlab.graphics.shapes import *
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.charts.textlabels import Label
from reportlab.graphics import renderPDF
URL = "http://services.swpc.noaa.gov/text/predicted-sunspot-radio-flux.txt"
COMMENT_CHARS = "#:"
drawing = Drawing(400, 200)
data = []
for line in urlopen(URL).readlines():
if not line.isspace() and not line[0] in COMMENT_CHARS:
data.append([float(n) for n in line.split()])
pred = [row[2] for row in data]
high = [row[3] for row in data]
low = [row[4] for row in data]
times = [row[0] + row[1] / 12.0 for row in data]
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp.data = [zip(times, pred), zip(times, high), zip(times, low)]
lp.lines[0].strokeColor = colors.blue
lp.lines[1].strokeColor = colors.red
lp.lines[2].strokeColor = colors.green
drawing.add(lp)
drawing.add(String(250, 150, "Sunsports", fontSize=14, fillColor=colors.red))
renderPDF.drawToFile(drawing, "report2.pdf", "Sunsports")
开发者ID:binger233,项目名称:study,代码行数:31,代码来源:21draw.py
示例7: main
def main():
URL = 'http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt'
COMMENT_CHARS = '#:'
drawing = Drawing(400, 200)
data = []
for line in urlopen(URL).readlines():
if not line.isspace() and not line[0] in COMMENT_CHARS:
data.append([float(n) for n in line.split()])
pred = [row[2] for row in data]
high = [row[3] for row in data]
low = [row[4] for row in data]
times = [row[0] + row[1]/12.0 for row in data]
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp.data = [zip(times, pred), zip(times, high), zip(times, low)]
lp.lines[0].strokeColor = colors.blue
lp.lines[1].strokeColor = colors.red
lp.lines[2].strokeColor = colors.green
drawing.add(lp)
drawing.add(String(250, 150, 'Sunspots', fontSize = 14, fillColor = colors.red))
renderPDF.drawToFile(drawing, 'report.pdf', 'Sunspots')
开发者ID:satiago,项目名称:workplace,代码行数:31,代码来源:main.py
示例8: draw
def draw():
'''
data=[(2007,8,113.2,114.2,112.2),
(2007,9,112.8,115.8,109.8),
(2007,10,111.0,116.0,106.0),
(2007,11,109.8,116.8,102.8),
(2007,12,107.3,115.3,99.3),
(2008,1,105.2,114.2,96.2),
(2008,2,104.1,114.1,94.1),
(2008,3,99.9,110.9,88.9),
(2008,4,94.8,106.8,82.8),
(2008,5,91.2,104.2,78.2)]
'''
'''
#这个是在pdf里画一个 hello word 的例子,
d=Drawing(100,100)
s=String(50,50,"hello word",textAnchor="middle")
d.add(s)
renderPDF.drawToFile(d,"hello.pdf","A simple PDF file")#renderPDF.drawToFile调用后会把你的pdf文件存到当前目录下一个叫hello.pdf的文件中
'''
URL="http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt"#见364页,这个网址记录的是太阳黑子的全部数据
COMMENT_CHARS="#:"
drawing=Drawing(400,200)
data=[]
for line in urlopen(URL).readlines():
#not isspace()是判断 这一行不为空字符串,not line[0] in COMMENT_CHARS是说 在网页里去掉 # 和 . 的部分
if not line.isspace() and not line[0] in COMMENT_CHARS:
data.append([float(n) for n in line.split()])
#print data
pred=[row[2] for row in data]
high=[row[3] for row in data]
low=[row[4] for row in data]
times=[row[0]+row[1]/12.0 for row in data]
lp=LinePlot()
#设置 x,y,height,width,以及data
lp.x=50
lp.y=50
lp.height=125
lp.width=300
lp.data=[zip(times,pred),zip(times,high),zip(times,low)]
lp.lines[0].strokeColor = colors.blue
lp.lines[1].strokeColor = colors.red
lp.lines[2].strokeColor = colors.green
'''
drawing.add(PolyLine(zip(times,pred),storkeColor=colors.blue))
drawing.add(PolyLine(zip(times,high),storkeColor=colors.red))
drawing.add(PolyLine(zip(times,low),storkeColor=colors.green))
#drawing.add(PolyLine([(10,50),(100,50),(80,80)],storkeColor=colors.red))#这个是直接画一条线
'''
drawing.add(lp)
drawing.add(String(250,150,"SunSpots",fontSize=14,fillColor=colors.red))
renderPDF.drawToFile(drawing,"report.pdf","SunSpots")#renderPDF.drawToFile调用后会把你的pdf文件存到当前目录下一个叫report.pdf的文件中
开发者ID:xlmysjz,项目名称:Python,代码行数:57,代码来源:Drawing.py
示例9: genLinePlot
def genLinePlot(objLogFileReader,columnName):
"""生成单个测试场景Log数据的指定数值列的折线图"""
plotWidth,plotHeight = 500,180
d = Drawing(plotWidth,plotHeight)
title = columnName
d.add(String(0,plotHeight-10,title,fontSize=12,fillColor=colors.black))
data = objLogFileReader.getLinePlotData(columnName)
lp = LinePlot()
lp.x,lp.y = 50,25
lp.width,lp.height = plotWidth-50,plotHeight-50
lp.data = data
lp.joinedLines = 1
lp.lines[0].strokeColor = colors.blue
lp.lines[0].strokeWidth = 1
#设置图表x轴的标尺步长、数据标签文本格式等属性
lp.xValueAxis.valueMin = min([x[0] for x in data[0]])
lp.xValueAxis.valueMax = max([x[0] for x in data[0]])
xValueRange = lp.xValueAxis.valueMax - lp.xValueAxis.valueMin
lp.xValueAxis.valueStep = xValueRange/10.0
lp.xValueAxis.labelTextFormat = myUtil.seconds2Str
#设置图表y轴的标尺步长、数据标签文本格式等属性
yValueMin = min([x[1] for x in data[0]])
yValueMax = max([x[1] for x in data[0]])
yValueRange = yValueMax - yValueMin
if (yValueMin-yValueRange/2) > 0:
lp.yValueAxis.valueMin = yValueMin - yValueRange/2
else:
lp.yValueAxis.valueMin = yValueMin
lp.yValueAxis.valueMax = yValueMax+ 0.01 + yValueRange/3 #+1避免当y轴最大值和最小值相等时valuseStep为0,导致绘图库计算y轴格数时出现除零错误
lp.yValueAxis.valueStep = (lp.yValueAxis.valueMax - lp.yValueAxis.valueMin)/10
lp.yValueAxis.labelTextFormat = '%.2f'
lp.yValueAxis.visibleGrid = 1
lp.yValueAxis.gridStrokeWidth = 0.5
lp.yValueAxis.gridStrokeColor = colors.gray
d.add(lp)
return d
开发者ID:nnmgy,项目名称:MobileAppTest,代码行数:36,代码来源:elemGenerator.py
示例10: line_plot
def line_plot(data, elements):
drawing = Drawing(0, 400) # for indices
lp = LinePlot()
lp.x = 0
lp.y = 50
lp.height = 300
lp.width = 600
lp.data = data
lp.joinedLines = 1
lp.lines[0].symbol = makeMarker('FilledCircle')
lp.lines[1].symbol = makeMarker('Circle')
lp.lineLabelFormat = '%2.0f'
lp.strokeColor = colors.black
lp.xValueAxis.valueMin = 0
lp.xValueAxis.valueMax = 5
lp.xValueAxis.valueSteps = [1, 2, 2.5, 3, 4, 5]
lp.xValueAxis.labelTextFormat = '%2.1f'
lp.yValueAxis.valueMin = 0
lp.yValueAxis.valueMax = 7
lp.yValueAxis.valueSteps = [1, 2, 3, 5, 6]
drawing.add(lp)
elements.append(drawing)
开发者ID:prakhar987,项目名称:PDF-Generator-SSAD-Project,代码行数:22,代码来源:views.py
示例11: MakePDF
def MakePDF(times, list, reportname, pdfname):
drawing = Drawing(500, 300)
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp.data = [zip(times, list)]
lp.lines[0].strokeColor = colors.blue
lp.lines[1].strokeColor = colors.red
lp.lines[2].strokeColor = colors.green
drawing.add(lp)
drawing.add(String(350, 150, reportname, fontSize=14, fillColor=colors.red))
renderPDF.drawToFile(drawing, pdfname, reportname)
开发者ID:qddegtya,项目名称:AndroidPerformanceTest_Python,代码行数:16,代码来源:Test_File.py
示例12: test_23_linePlotCharts
def test_23_linePlotCharts(self):
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.lib import colors
from reportlab.lib.units import inch
from reportlab.platypus import SimpleDocTemplate, Spacer, Paragraph
from reportlab.pdfbase import pdfmetrics
from reportlab.graphics.shapes import Drawing
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.widgets.markers import makeMarker
pdfmetrics.registerFont(TTFont('chsFont', 'STHeiti Light.ttc'))
stylesheet = getSampleStyleSheet()
elements = []
doc = SimpleDocTemplate("demo.pdf")
elements.append(Paragraph('<font name="chsFont">JY.zenist.song - 俊毅</font>', stylesheet['Title']))
elements.append(Spacer(1,1*inch))
d = Drawing(400,200)
data = [
[(1,1), (2,2), (2.5,1), (3,3), (4,5)],
]
lp = LinePlot()
lp.x = 5
lp.y = 5
lp.height = 190
lp.width = 390
lp.data = data
lp.joinedLines = 1
lp.lines[0].symbol = makeMarker('FilledCircle')
d.add(lp)
elements.append(d)
doc.build(elements)
开发者ID:zenist,项目名称:ZLib,代码行数:37,代码来源:test_pdf.py
示例13: graphout
def graphout(name, datain,xaxis=None):
if xaxis is None:
xaxis=range(datain.size)
if xlabel is None:
xlabel = ''
if ylabel is None:
ylabel = ''
drawing = Drawing(400, 200)
# data = [
# ((1,1), (2,2), (2.5,1), (3,3), (4,5)),
# ((1,2), (2,3), (2.5,2), (3.5,5), (4,6))
# ]
dataview = [tuple([(xaxis[i],datain[i]) for i in range(datain.size)])]
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp.data = dataview
lp.xValueAxis.xLabelFormat = '{mmm} {yy}'
lp.lineLabels.fontSize = 6
lp.lineLabels.boxStrokeWidth = 0.5
lp.lineLabels.visible = 1
lp.lineLabels.boxAnchor = 'c'
# lp.joinedLines = 1
# lp.lines[0].symbol = makeMarker('FilledCircle')
# lp.lines[1].symbol = makeMarker('Circle')
# lp.lineLabelFormat = '%2.0f'
# lp.strokeColor = colors.black
# lp.xValueAxis.valueMin = min(xaxis)
# lp.xValueAxis.valueMax = max(xaxis)
# lp.xValueAxis.valueSteps = xaxis
# lp.xValueAxis.labelTextFormat = '%2.1f'
# lp.yValueAxis.valueMin = min(datain)
# lp.yValueAxis.valueMax = max(datain)
# lp.yValueAxis.valueSteps = [1, 2, 3, 5, 6]
drawing.add(lp)
return drawing
开发者ID:meyerson,项目名称:BOUT,代码行数:39,代码来源:pb_draw.py
示例14: generate_certificate
def generate_certificate(elements):
style = TableStyle([('TEXTALIGN', (0, 0), (-1, -1), 'CENTER'),
('TEXTCOLOR', (0, 0), (-1, -1), colors.red),
('VALIGN', (0, 0), (0, -1), 'TOP'),
('INNERGRID', (0, 0), (-1, -1), 0.50, colors.red),
('BOX', (0, 0), (-1, -1), 0.50, colors.green),
('BACKGROUND', (0, 0), (-1, -1), colors.blue),
])
s = getSampleStyleSheet()
s = s["BodyText"]
s.wordWrap = "RGB"
styles = ParagraphStyle(
name='Normal',
fontName='Helvetica-Bold',
fontSize=15,
alignment=1,
)
elements.append(Spacer(1, 0.5 * inch))
i = Paragraph(str("candidate performance vs average performance"), styles)
elements.append(i)
elements.append(Spacer(1, 0.1 * inch))
drawing = Drawing(0, 200) # for indices
data = [
(13, 5, 20, 22, 37, 45, 19, 4),
(14, 6, 21, 23, 38, 46, 20, 5)
] # data for drawing bar graphs
bc = VerticalBarChart()
bc.x = 0 # x,y define the left bottom of graph
bc.y = 0
bc.height = 150
bc.width = 300
bc.data = data
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 50
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 6 # next 3 lines is for naming indices
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 60
bc.categoryAxis.categoryNames = ['Jan-99', 'Feb-99', 'Mar-99',
'Apr-99', 'May-99', 'Jun-99', 'Jul-99', 'Aug-99']
drawing.add(bc)
elements.append(drawing)
elements.append(Spacer(1, 0.5 * inch))
drawing = Drawing(0, 175) # for indices
lc = HorizontalLineChart()
lc.x = 0
lc.y = 10
lc.height = 150
lc.width = 300
lc.data = data
lc.joinedLines = 1
catNames = 'Jan Feb Mar Apr May Jun Jul Aug'.split(' ')
lc.categoryAxis.categoryNames = catNames
lc.categoryAxis.labels.boxAnchor = 'n'
lc.valueAxis.valueMin = 0
lc.valueAxis.valueMax = 60
lc.valueAxis.valueStep = 15
lc.lines[0].strokeWidth = 2
lc.lines[1].strokeWidth = 1.5
drawing.add(lc)
elements.append(drawing)
drawing = Drawing(0, 400) # for indices
data = [
((1, 1), (2, 2), (2.5, 1), (3, 3), (4, 5)),
((1, 2), (2, 3), (2.5, 2), (3.5, 5), (4, 6))
]
elements.append(Spacer(1, 0.1 * inch))
i = Paragraph(str("candidate performance vs average performance"), styles)
elements.append(i)
elements.append(Spacer(1, 0.1 * inch))
lp = LinePlot()
lp.x = 0
lp.y = 50
lp.height = 300
lp.width = 600
lp.data = data
lp.joinedLines = 1
lp.lines[0].symbol = makeMarker('FilledCircle')
lp.lines[1].symbol = makeMarker('Circle')
lp.lineLabelFormat = '%2.0f'
lp.strokeColor = colors.black
lp.xValueAxis.valueMin = 0
lp.xValueAxis.valueMax = 5
lp.xValueAxis.valueSteps = [1, 2, 2.5, 3, 4, 5]
lp.xValueAxis.labelTextFormat = '%2.1f'
lp.yValueAxis.valueMin = 0
lp.yValueAxis.valueMax = 7
lp.yValueAxis.valueSteps = [1, 2, 3, 5, 6]
drawing.add(lp)
elements.append(drawing)
elements.append(Spacer(1, 0.1 * inch))
drawing = Drawing(100, 350)
pc = Pie()
pc.x = 65
pc.y = 15
pc.width = 300
pc.height = 300
pc.data = [10, 20, 30, 40, 50, 60]
#.........这里部分代码省略.........
开发者ID:prakhar987,项目名称:PDF-Generator-SSAD-Project,代码行数:101,代码来源:views.py
示例15: stackedGraphs
def stackedGraphs(self,lxydata,tmin=None,tmax=None): # list of (label, [x,yarr]) with x in seconds
lcheight = 125
lcwidth = self.PAGE_WIDTH-280
graphsinchart = self.maxnumgraphsinchart
stacks = (len(lxydata)/graphsinchart)
if len(lxydata)%graphsinchart>0:
stacks +=1
drawing = Drawing(lcwidth+130, stacks*lcheight+75)
ix = 0
for ix in range(0,len(lxydata),graphsinchart):
subset=lxydata[ix:min(ix+graphsinchart,len(lxydata))]
maxX = subset[0][1][0][0]
maxY = 1.
minX = maxX
minY = -1
for label,xyarr in subset:
xarr = [x for (x,y) in xyarr]
yarr = [y for (x,y) in xyarr]
maxY = max(maxY, max(yarr))
minY = min(minY, min(yarr))
maxX = max(maxX, max(xarr))
minX = min(minX, min(xarr))
if not tmin is None:
minX = tmin
if not tmax is None:
maxX = tmax
subset.append(('CritMax',[[minX,1.],[maxX,1.]]))
subset.append(('CritMin',[[minX,-1.],[maxX,-1.]]))
lc = LinePlot()
lc.x = 30
lc.y = 50+lcheight*ix/graphsinchart
lc.height = (lcheight-10)
lc.width = lcwidth
lc.data = [xy for (l,xy) in subset]
datalabels = [ l for (l,xy) in subset]
lc.xValueAxis.valueMin = minX
lc.xValueAxis.valueMax = maxX
lc.xValueAxis.valueStep = int((maxX-minX)/5)
if ix == 0:
lc.xValueAxis.labelTextFormat = dateformatter # Use the formatter
else:
lc.xValueAxis.labelTextFormat = emptyformatter # Use the formatter
lc.xValueAxis.visibleGrid = True
lc.xValueAxis.gridStrokeWidth = .5
lc.xValueAxis.gridStrokeColor = colors.darkgrey
lc.xValueAxis.subTickNum = 1
lc.xValueAxis.subGridStrokeWidth = .25
lc.xValueAxis.subGridStrokeColor = colors.lightgrey
lc.xValueAxis.visibleSubGrid = True
lc.yValueAxis.valueMin = minY
lc.yValueAxis.valueMax = maxY
lc.yValueAxis.valueStep = .25
if (maxY-minY)>2:
lc.yValueAxis.valueStep = .5
if (maxY-minY)>4:
lc.yValueAxis.valueStep = 1.
lc.yValueAxis.visibleGrid = True
lc.yValueAxis.gridStrokeWidth = .5
lc.yValueAxis.gridStrokeColor = colors.darkgrey
lc.yValueAxis.subTickNum = 1
lc.yValueAxis.subGridStrokeWidth = .25
lc.yValueAxis.subGridStrokeColor = colors.lightgrey
lc.yValueAxis.visibleSubGrid = True
for x in range(len(lc.data)):
lc.lines[x].strokeColor = self.colors[x]
lc.lines[x].name = datalabels[x]
if len(lc.data[x]) ==1:
lc.lines[x].symbol = makeMarker('FilledCircle') # added to make filled circles.
lc.lines[x].strokeWidth = 2
if lc.lines[x].name == 'CritMin' or lc.lines[x].name == 'CritMax': # distinguish min/max
lc.lines[x].strokeColor = self.colors[0]
lc.lines[x].strokeDashArray = (5, 1)
self.addLabels(drawing,ylabel="geschaalde waarde")
drawing.add(lc)
ix += 1
drawing.add(self.addAutoLegend(lc,(lc.x,lc.y,lc.width,lc.height),len(lc.data),side='right'))
return drawing
开发者ID:jhuguetn,项目名称:WAD_Python,代码行数:83,代码来源:reporter.py
示例16: make_graphs
def make_graphs(self,canvas=None,left_margin=None):#text=None):
from reportlab.graphics import renderPDF
from reportlab.lib.pagesizes import letter
from reportlab.graphics.shapes import Drawing,String
from reportlab.graphics.charts.legends import Legend
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.widgets.markers import makeMarker
from reportlab.lib import colors
from reportlab.lib.units import inch
#help(colors)
self.framework = {4:dict(status=SpotClass.SPINDLE,color=colors.black),
5:dict(status=SpotClass.OVERLAP,color=colors.limegreen),
6:dict(status=SpotClass.OUTLIER,color=colors.greenyellow),
7:dict(status=SpotClass.ICE,color=colors.skyblue),
}
# set size and position
width,height = letter
#letter_landscape = (width,height)
plot_dim = 3.0*inch
# construct scatter plot
plot_dxdy_pos = (left_margin*inch,height - plot_dim - 0.5*inch)
plot_dxdy = LinePlot()
plot_dxdy.data = self.plot_dxdy_data
std_colors = {0:colors.darkred, 1:colors.red, 2:colors.salmon}
for key in std_colors.keys():
plot_dxdy.lines[key].strokeColor = None
plot_dxdy.lines[key].symbol = makeMarker('Circle')
plot_dxdy.lines[key].symbol.strokeColor = None
plot_dxdy.lines[key].symbol.fillColor = std_colors[key]
plot_dxdy.lines[key].symbol.size = 1.2
for key in self.framework.keys():
plot_dxdy.lines[key].strokeColor = None
plot_dxdy.lines[key].symbol = makeMarker('Circle')
plot_dxdy.lines[key].symbol.strokeColor = None
plot_dxdy.lines[key].symbol.fillColor = self.framework[key]["color"]
plot_dxdy.lines[key].symbol.size = 1.2
plot_dxdy.lines[3].strokeColor = None
plot_dxdy.lines[3].symbol = makeMarker('Circle')
plot_dxdy.lines[3].symbol.strokeColor = colors.blue
plot_dxdy.lines[3].symbol.fillColor = None
plot_dxdy.lines[3].symbol.strokeWidth = 0.6
plot_dxdy.lines[3].symbol.size = plot_dim*(self.sqrtr2)
#print plot_dxdy.lines[3].symbol.getProperties()
plot_dxdy.width = plot_dim
plot_dxdy.height = plot_dim
plot_dxdy.xValueAxis.valueMax = 1.0
plot_dxdy.xValueAxis.valueMin = -1.0
plot_dxdy.xValueAxis.joinAxis = plot_dxdy.yValueAxis
plot_dxdy.xValueAxis.joinAxisMode = 'value'
plot_dxdy.xValueAxis.joinAxisPos = -1.0
plot_dxdy.yValueAxis.valueMax = 1.0
plot_dxdy.yValueAxis.valueMin = -1.0
d_dxdy = Drawing(plot_dim,plot_dim)
d_dxdy.add(plot_dxdy)
# construct cdf plot
plot_cdf_pos = (left_margin*inch, height - 2.0*(plot_dim + 0.5*inch))
plot_cdf = LinePlot()
plot_cdf.data = self.plot_cdf_data
plot_cdf.lines[0].strokeColor = colors.blue
for key in std_colors.keys():
plot_cdf.lines[key+1].strokeColor = None
plot_cdf.lines[key+1].symbol = makeMarker('Circle')
plot_cdf.lines[key+1].symbol.strokeColor = None
plot_cdf.lines[key+1].symbol.fillColor = std_colors[key]
plot_cdf.lines[key+1].symbol.size = 1.2
if (len(self.plot_cdf_data) == 5):
plot_cdf.lines[4].strokeColor = colors.green
plot_cdf.width = plot_dim
plot_cdf.height = plot_dim
plot_cdf.xValueAxis.valueMax = 1.0
plot_cdf.xValueAxis.valueMin = 0.0
plot_cdf.yValueAxis.valueMax = 1.0
plot_cdf.yValueAxis.valueMin = 0.0
d_cdf = Drawing(plot_dim,plot_dim)
d_cdf.add(plot_cdf)
# construct pdf plot
plot_pdf_pos = (left_margin*inch, height - 3.0*(plot_dim + 0.5*inch))
plot_pdf = LinePlot()
plot_pdf.data = self.plot_pdf_data
plot_pdf.lines[1].strokeColor = colors.blue
plot_pdf.lines[0].strokeColor = None
plot_pdf.lines[0].symbol = makeMarker('Circle')
plot_pdf.lines[0].symbol.strokeColor = colors.red
plot_pdf.lines[0].symbol.size = 1
plot_pdf.width = plot_dim
plot_pdf.height = plot_dim
plot_pdf.xValueAxis.valueMax = 1.0
plot_pdf.xValueAxis.valueMin = 0.0
d_pdf = Drawing(2*plot_dim,plot_dim)
#.........这里部分代码省略.........
开发者ID:cctbx,项目名称:cctbx-playground,代码行数:101,代码来源:outlier_detection.py
示例17: main
def main():
f = file("Translate1-2004-01-09-g(9.8).txt")
timex = []
timey = []
timez = []
for line in f:
list = line.split(' ')
timex.append((float(list[0]), float(list[1])))
timey.append((float(list[0]), float(list[2])))
drawing = Drawing(400,600)
max_time, _ = timex[len(timex)-1]
_, max_x = timex[len(timex)-1]
lineplot_x = LinePlot()
lineplot_x.x = max_time+1
##lineplot_x.x = 50
lineplot_x.y = max_x+1
##lineplot_x.y = 50
lineplot_x.height = 125
lineplot_x.width = 300
lineplot_x.data = [timex]
drawing.add(lineplot_x)
_, max_y = timey[len(timey)-1]
lineplot_y = LinePlot()
lineplot_y.x = max_time+1
lineplot_y.y = max_y+1
lineplot_y.height = 125
lineplot_y.width = 300
lineplot_y.data = [timey]
##drawing.add(lineplot_y)
## renderPDF.drawToFile(drawing, 'XVal1VsTime-2004-01-09-g(9.8).pdf', 'XvsTime')
## _, max_y = timex[len(timey)-1]
## lineplot_y = LinePlot()
##write data to files
file_x = file("xpos.txt", 'w')
for item in timex:
str = item.__str__()
str = str.replace('(', '')
str = str.replace(')', '')
str = str.replace(',', '')
file_x.write(str + '\n')
file_y = file("ypos.txt", 'w')
for item in timey:
str = item.__str__()
str = str.replace('(', '')
str = str.replace(')', '')
str = str.replace(',', '')
file_y.write(str + '\n')
开发者ID:BackupTheBerlios,项目名称:edge-svn,代码行数:54,代码来源:time_pos_extract.py
示例18: Share
from requests import *
from yahoo_finance import Share
import pandas as pd
from pandas import DataFrame
# As the data from swpc is not avaliable as in the book, so in this demo program,
# I will use the data from Yahoo finance to test the reportlab.
apple = Share('AAPL')
historical_data = apple.get_historical('2015-01-01', '2015-12-31')
data = DataFrame(historical_data)[['Close', 'Date', 'Volume']].reindex(columns=['Date', 'Close', 'Volume'])
price = data['Close'].tolist()
price = list(map(float, price))
volume = data['Volume'].tolist()
tmp = data['Date'].tolist()
date = list(range(0, len(tmp)))
drawing = Drawing(400, 200)
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
dis_data = list(zip(date, price))
lp.data = [dis_data]
lp.lines[0].strokeColor = colors.blue
drawing.add(lp)
renderPDF.drawToFile(drawing, 'sample.pdf', 'Apple')
print('end')
开发者ID:panda0881,项目名称:Beginning-Python,代码行数:30,代码来源:sunspot_roto.py
示例19: PDFGen
if findStart and findEnd:
self.duration = time.mktime(time.strptime(findEnd.group(), "%Y-%m-%d %H:%M:%S")) - time.mktime(time.strptime(findStart.group(), "%Y-%m-%d %H:%M:%S"))
print '---> Done'
class PDFGen(object):
Date = datetime.datetime.now().strftime("%Y-%m-%d")
FileLeft = None
FileRight = None
Color = [colors.red, colors.blue, colors.green, colors.pink, colors.gray, colors.cyan, colors.orange, colors.purple, colors.yellow, colors.black]
def drawLineChart(self, (names, start, end, data, title), reserved=None):
w = PAGE_WIDTH - 2 * inch
h = w * 0.6
drawing = Drawing(w, h)
lp = LinePlot()
lp.x = 0
lp.y = 0
lp.height = h - 30
lp.width = w
lp.data = data
lp.joinedLines = 1
lp.strokeColor = colors.black
lp.xValueAxis = XValueAxis()
lp.xValueAxis.valueMin = start
lp.xValueAxis.valueMax = end
lp.xValueAxis.valueSteps = [(start + i * (end - start) / 5) for i in range(6)]
lp.xValueAxis.labelTextFormat = lambda seconds: time.strftime("%m/%d %H:%M", time.localtime(seconds))
lp.xValueAxis.labels.angle = 35
lp.xValueAxis.labels.fontName = 'Helvetica'
开发者ID:cokesprite,项目名称:memory-tool,代码行数:31,代码来源:mmparse.py
示例20: Drawing
Author: Oommen Mathew
Date: 25th Feb 2012
"""
from reportlab.graphics.shapes import Drawing
from reportlab.lib import colors
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.widgets.markers import makeMarker
from reportlab.graphics.charts.legends import Legend
from reportlab.graphics.charts.textlabels import Label
d = Drawing(620, 430)
lp = LinePlot()
lp.width = 520
lp.height = 320
lp.x = 70
lp.y = 80
FH = open("finalOutPut.csv", 'r')
data_lines = FH.readlines()
FH.close()
TP = 20
TN = 14
TOT = 7129
dat_dict = {}
开发者ID:oommenkm,项目名称:K-Modes-Algorithm-as-a-tool-for-leukemia-microarray-data-Clustering,代码行数:30,代码来源:plot_accuracy_vs_numOfClusters_1_0.py
注:本文中的reportlab.graphics.charts.lineplots.LinePlot类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论