1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python生成图文并茂的pdf--财务报表(七)表格和图表怎么并列

python生成图文并茂的pdf--财务报表(七)表格和图表怎么并列

时间:2020-11-12 02:12:08

相关推荐

python生成图文并茂的pdf--财务报表(七)表格和图表怎么并列

在我快速学习快速开发python生成FOF报表的时候,遇到的一个最大的难题就是这个,最终在凌晨醒来突然灵光一现相出了个办法。先看一下这个的显示样式。

表格与表格并列上篇文章已经讲过了。图表和图表并列显示只要将他们add到drawing上也可以自适应的并列显示。那么图表和表格呢。

试了很多方法,都不行。最后想到了一个办法。

其实将表格和图表都当成一个大表格的data,问题不就解决了嘛!甚至上面的俩个小标题,没有比将四个元素都当成表格里的单元格元素而更加方便简单的了。这样标题跟下面的内容对齐各种问题也都解决了。

t1是左上方的标题,t2是右上方的标题。table是表格,d2是图表。

t1 = Paragraph("<img src = 'C:/Users/dwzq/Pictures/Camera Roll/title.png 'width='15' height ='15'></img><font name=PingFangSCSemibold size=12 ><strong>产品基本信息</strong></font>")t2 = Paragraph("<img src = 'C:/Users/dwzq/Pictures/Camera Roll/title.png 'width='15' height ='15'></img><font name=PingFangSCSemibold size=12 ><strong>产品净值曲线</strong></font>")

table生成方式前面文章已经详细讲过,不做赘述。d2是折线图表:d2= Drawing(300, 180)data = [(0.8, 0.9, 1, 1.2, 1.1, 1.3, 1.2, 1.1, 1.1, 1.0, 0.9, 1.1, 1.1, 1.3,), (0.9, 1.0, 1.1, 1.0, 0.9, 1.1, 1.1, 1.3,0.8, 0.9, 1, 1.2, 1.1,1.2)]lc = HorizontalLineChart()lc.x = 20lc.y = 30lc.height = 130lc.width = 280lc.data = datalc.joinedLines = 1lc.categoryAxis.labels.dx = -10lc.categoryAxis.labels.dy = -20lc.categoryAxis.labels.angle = 60catNames = ',,0113,0213,,,,,,,,,,'.split(',')lc.categoryAxis.categoryNames = catNamessNames = '尊享106号', '沪深300'lgd = LineLegend() #图上的标签lgd.colorNamePairs = [(colors.HexColor('#3094E9'),sNames[0]),(colors.HexColor('#FD7D0D'), sNames[1])]lgd.columnMaximum = 1lgd .y = 180lgd .fontName = 'Simhei'lgd.fontSize = 8lgd .alignment = 'right'lgd .deltax = 1lgd.dx = 5lgd.x = 175lgd.dxTextSpace = 7lgd.deltay = 0lgd.boxAnchor = 'nw'lgd.subCols.dx = 0lgd.dy = 5lgd.subCols.dy = -2lgd.subCols.rpad = 0lc.lineLabels = 'a single stacked column'lc.lines[0].strokeColor = colors.HexColor('#3094E9') #线条颜色lc.lines[1].strokeColor = colors.HexColor('#FD7D0D')lc.categoryAxis.labels.boxAnchor = 'n'lc.categoryAxis.labels.fontSize = 9lc.categoryAxis.labels.fontName = 'Simhei'lc.categoryAxis.strokeColor=colors.greylc.valueAxis.strokeColor = colors.grey# lc.valueAxis.lables.fontName = 'Simhei'lc.valueAxis.valueMin = 0.6lc.valueAxis.valueMax = 1.5lc.valueAxis.valueStep = 0.1lc.valueAxis.labels.fontName = 'Simhei' # value轴字体# lc.valueAxis.values.fontName = 'Simhei'lc.lines[0].strokeWidth = 2lc.lines[1].strokeWidth = 2d2.add(lc)d2.add(lgd)

下面最关键的写法:

dataall = [[t1, t2], [table01, table01_2]] # 并列图标flowable = Table(dataall)

最后就形成了所需要的的pdf样式。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。