Python Forum
Reportlab: Add xlabel, ylabel and grid to lineplot
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Reportlab: Add xlabel, ylabel and grid to lineplot
#1
Good morning, I'm Denis and I gently ask help about reporlab library. I'm trying to create a pdf with some graphs automatically with python, in particular with the plotline function of reportlab, but I have some problems to add Xlabel and Ylabel, or better what the two axis represent, and the grid and legend.
Can someone could help me to solve this difficulty?

Here a part of the code which I implemented:



import reportlab

from reportlab.pdfgen import canvas
from reportlab.graphics import renderPDF
from reportlab.graphics.shapes import Drawing, _DrawingEditorMixin
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.charts.barcharts import VerticalBarChart
from reportlab.graphics.widgets.markers import makeMarker
from reportlab.graphics.charts.legends import LineLegend
from reportlab.graphics.samples.excelcolors import *
from reportlab.lib.validators import *
from reportlab.lib.colors import Color
from reportlab.graphics.charts.utils import *
from reportlab.graphics.charts.lineplots import GridLinePlot
from reportlab.graphics.charts.axes import XValueAxis, YValueAxis, AdjYValueAxis, NormalDateXValueAxis
from reportlab.graphics.charts.lineplots import GridLinePlot
from reportlab.lib.validators import Auto
from reportlab.graphics.charts.axes import NormalDateXValueAxis

...
def line_plot():
drawing = Drawing(500, 800)
lp1 = LinePlot()
lp1.x = 200
lp1.y = 550
lp1.height = 200
lp1.width = 200
lp1.data = Data
lp1.joinedLines = 1
lp1.lines[0].symbol = makeMarker('FilledCircle')
lp1.lines[1].symbol = makeMarker('Circle')
Data = [[[1,1], [2,2], [2.5,1], [3,3], [4,5]],[[1,2], [4,6]]]
lp1.xValueAxis.labelTextFormat = '%2.1f'
drawing.add(lp)
return drawing

the_canvas = canvas.Canvas("output.pdf")
the_canvas.drawString(100,750,"Welcome to Reportlab!")
renderPDF.draw(line_plot(), the_canvas, 10, 10)
the_canvas.showPage()
the_canvas.save()



Thank you really much
Denis
Reply
#2
Please re-post using code tags, see BBCODE
also when posting code, use shift-ctrl-v which will preserve indentation
Reply
#3
I'm sorry

import reportlab
from reportlab.pdfgen import canvas
from reportlab.graphics import renderPDF
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.charts.barcharts import VerticalBarChart
from reportlab.graphics.widgets.markers import makeMarker
from reportlab.graphics.charts.legends import LineLegend
from reportlab.graphics.charts.lineplots import GridLinePlot
from reportlab.graphics.charts.lineplots import GridLinePlot
from reportlab.lib.colors import Color
from reportlab.graphics.charts.legends import LineLegend
from reportlab.graphics.shapes import Drawing, _DrawingEditorMixin
from reportlab.lib.validators import Auto
from reportlab.graphics.charts.axes import NormalDateXValueAxis



def line_plot():
	drawing = Drawing(400, 200)
	Data = [[[1,1], [2,2], [2.5,1], [3,3], [4,5]],[[1,2], [4,6]]]
	lp = LinePlot()
	lp.y                             = 40
	lp.x                             = 30 
	lp.width                         = 500
	lp.height                        = 500


	lp.lineLabels.fontSize           = 6
	lp.lineLabels.boxStrokeWidth     = 0.5
	lp.lineLabels.visible            = 1
	lp.lineLabels.boxAnchor          = 'c'
	lp.lineLabels.angle              = 0
	lp.lineLabelNudge                = 10
	lp.joinedLines                   = 1
	lp.lines.strokeWidth             = 1.5

	lp.data  = Data
	drawing.add(lp)
	
	
	return drawing

the_canvas = canvas.Canvas("output.pdf")
the_canvas.drawString(100,750,"Welcome to Reportlab!")
renderPDF.draw(line_plot(), the_canvas, 10, 10)
the_canvas.showPage()

the_canvas.save()
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [SOLVED] Looking for documentation on Reportlab's canvas.transform() function NeilUK 1 552 Aug-23-2023, 01:21 PM
Last Post: NeilUK
  Right to left alignment in python report using Reportlab jalal0034 1 1,761 Sep-27-2022, 04:25 AM
Last Post: jalal0034
  Label Maker FPDF, Reportlab jamesaarr 1 2,601 Aug-09-2021, 11:57 PM
Last Post: Pedroski55
  cyrillic symbols in tables in reportlab. hiroz 5 11,195 Sep-10-2020, 04:57 AM
Last Post: bradmalcom
  Using Reportlab to create a landscape pdf SmukasPlays 2 5,280 Aug-09-2020, 09:31 PM
Last Post: SmukasPlays
  Help! - How to create a Title for a Reportlab Table crabbylou 0 5,272 Mar-29-2020, 09:14 PM
Last Post: crabbylou
  ReportLab Polypop77 0 1,802 Mar-20-2020, 01:17 PM
Last Post: Polypop77
  Inserting a variable name into xlabel myersluke 0 1,455 Jun-19-2019, 10:22 PM
Last Post: myersluke
  Python Reportlab Wordwrap Table Mady 0 6,906 Dec-18-2018, 06:31 AM
Last Post: Mady
  Reportlab Dynamic Table Q Gutt 0 5,705 Jun-13-2018, 10:18 PM
Last Post: Gutt

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020