10. 柱状图
10.1 普通柱状图
self.add_heading("柱状图", level=1)
self.add_heading('普通柱状图', level=2)
data = [[10, 20, 30], [20, 30, 40], [30, 40, 50]]
self.add_quick_chart(
data=data,
series=['A国每年GDP','B国每年GDP','C国每年GDP'],
width=520, # 柱状图宽度
height=230, # 柱状图高度
names=['2018', '2019', '2020'],
chart_type='column',
ytitletext='单位/TiB',
xvalue=-50, # x轴偏移位置(负数代表右移,正数代表左移)
# xangle=50, # x 轴数值的角度
title='普通柱状图',
ylines=True # 增加y轴横线
)
执行代码生成普通柱状图
10.2 柱状图-3d
self.add_heading('柱状图-3d', level=2)
self.add_quick_chart(
data=data,
series=['A国每年GDP','B国每年GDP','C国每年GDP'],
width=520, # 柱状图宽度
height=230, # 柱状图高度
names=['2018', '2019', '2020'],
chart_type='column3d',
ytitletext='单位/TiB',
xvalue=-50, # x轴偏移位置(负数代表右移,正数代表左移)
# xangle=50, # x 轴数值的角度
title='柱状图-3d',
ylines=True # 增加y轴横线
)
执行代码生成柱状图-3d
10.3 堆叠柱形图
self.add_heading('堆叠柱形图', level=2)
self.add_quick_chart(
data=data,
series=['A国每年GDP','B国每年GDP','C国每年GDP'],
width=520, # 柱状图宽度
height=230, # 柱状图高度
names=['2018', '2019', '2020'],
chart_type='stacked_column',
ytitletext='单位/TiB',
xvalue=-50, # x轴偏移位置(负数代表右移,正数代表左移)
# xangle=50, # x 轴数值的角度
title='堆叠柱形图',
ylines=True # 增加y轴横线
)
执行生成堆叠柱形图
10.4 百分比堆叠性柱形图
self.add_heading('百分比堆叠性柱形图', level=2)
self.add_quick_chart(
data=data,
series=['A国每年GDP','B国每年GDP','C国每年GDP'],
width=520, # 柱状图宽度
height=230, # 柱状图高度
names=['2018', '2019', '2020'],
chart_type='percent_column',
ytitletext='单位/TiB',
xvalue=-50, # x轴偏移位置(负数代表右移,正数代表左移)
# xangle=50, # x 轴数值的角度
title='百分比堆叠性柱形图',
ylines=True # 增加y轴横线
)
执行生成百分比堆叠性柱形图
10.5 横向柱形图
self.add_heading('横向柱形图', level=2)
data3 = [['webconsole2', 'messages-dispatcher2', 'messages-dispatcher1', '母机_clone', 'exchange-instance-YbxaYS'], [29, 18, 17, 5, 5]]
self.add_space()
self.add_flowable(of_ex_bar.BarChartsOnOneCanvas(
width=260, height=200,
data=[data3[1]],
names=data3[0]
))
self.add_space()
self.add_caption('横向柱形图', category=constant.CAPTION_IMAGE)
执行生成横向柱形图
10.6 带负标签的柱状图
self.add_heading('带负标签的柱状图', level=2)
data = [(100, -110, 120, 130), (70, 80, 85, 90)]
names = ['china', 'jan', 'ag', 'eng']
self.add_flowable(
of_ex_bar.HBarChartWRedXValueAxisNegLabels(
data=data,width=460, height=200
)
)
self.add_caption('带负标签的柱状图', category=constant.CAPTION_IMAGE)
执行代码生成带负标签的柱状图
10.7 正向竖线柱状图
self.add_heading('正向竖线柱状图', level=2)
data = [(100, -110), (25, -30)]
self.add_flowable(
of_ex_bar.VBarChartWLineBarLabels(
data=data, width=460, height=200
)
)
self.add_caption('带线标签的竖线柱状图', category=constant.CAPTION_IMAGE)
执行代码生成正向带线标签的竖线柱状图
10.8 类别柱型对比图
self.add_heading('类别柱型对比图', level=2)
# 时间
names = [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'aaa',
'12121'
]
# 数据
data = [
(0.27, 2.17, 3.66, 5.2, -1.33, -3.12, -6.36, 4.4,),
(1.34, 1.11, 3.53, 4.55, -3.36, -6.64, -7.41, -6.22,),
(1.37, 2.17, 3.77, 5.12, -1.22, -3.22, -5.36, 4.14,),
(0.33, 1.21, 3.52, 4.77, -1.36, -6.64, -8.1, -7.52,),
]
# 类别
series = (
'BP',
'Shell Transport & Trading',
'Liberty ' 'International',
'Royal Bank of Scotland',
)
self.add_flowable(
of_ex_bar.FourCategoryEightMonth(
data=data, names=names, series=series,
width=460, height=200
)
)
self.add_caption('4个类别8个月对比图', category=constant.CAPTION_IMAGE)
执行代码生成4个类别8个月对比图
10.9 柱状图表格并存
self.add_heading('柱状图表格并存', level=2)
self.add_flowable(
of_ex_bar.BarChartWithTable(
width=460, height=200)
)
pdf.add_caption('柱状图和表格', category=constant.CAPTION_IMAGE)