Python XlsxWriter – 微线图

Python XlsxWriter – 微线图

微线图 是一个小图表,它没有轴或坐标。它给出了某一参数的变化情况。普通的图表尺寸较大,有很多解释功能,如标题、图例、数据标签等,并与附带的文本分开。另一方面,Sparkline的尺寸较小,可以嵌入文本或有其背景的工作表单元中。

微线图的特点是由Edward Tufte在1983年提出的。微软在Excel 2010中引入了微线图。我们可以在Excel软件的插入功能区中找到微线图选项。

微线图有三种类型

  • line – 类似于线形图

  • column – 类似于柱状图

  • win_loss – 每个值是正的(赢)还是负的(输)。

使用XlsxWriter微线图工作

XlsxWriter模块有 add_sparkline() 方法。它基本上需要微线图的单元格位置和要表示为微线图的数据范围。可以选择以字典对象的形式提供其他参数,如类型、样式等。默认情况下,类型是直线。

例子

下面的程序用行和列的微线图表示相同的数字列表。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

data=[12,23,9,17,31,3,7,21,10,15]

ws.write_row('A1', data)
ws.set_column('K:K', 40)
ws.set_row(0, 30)
ws.add_sparkline('K1', {'range':'Sheet1!A1:J1'})

ws.write_row('A5', data)
ws.set_column('K:K', 40)
ws.set_row(4, 30)
ws.add_sparkline('K5', {'range':'Sheet1!A5:J5', 'type':'column'})

wb.close()

输出

在K单元格中,增加了微线图。

Python XlsxWriter - 微线图

这些属性是 −

  • range – 是强制性参数。它指定了微线图所要绘制的单元格数据范围。

  • type – 指定微线图的类型。有3种可用的微线图类型,即行、列和胜负。

  • markers – 开启线型微线图的标记。

  • style – 在MS Excel中定义的微线图样式。有36种风格类型。

  • negative_points – 如果设置为 “True”,微线图中的负点会被突出显示。

例子

下面的程序产生一个带有 标记直线微线图 和一个带有负数点的 胜负微线图

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

data=[12,23,9,17,31,3,7,21,10,15]
ws.write_row('A1', data)
ws.set_column('K:K', 40)
ws.set_row(0, 30)

data=[1,1,-1,-1,-1,1,1,1,-1,-1]
ws.write_row('A5', data)
ws.set_column('K:K', 40)
ws.set_row(4, 30)
ws.add_sparkline('K1', {'range':'Sheet1!A1:J1', 'markers':True})
ws.add_sparkline('K5', {'range':'Sheet1!A5:J5', 'type':'win_loss',
'negative_points':True})

wb.close()

输出

K1中的线条微线图有标记。K5中的微线图显示负数点突出。

Python XlsxWriter - 微线图

例子 – 风格类型

以下代码在柱状微线图中显示一系列的数字。这里使用了10种不同的风格类型。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

data=[12,23,9,17,31,3,7,21,10,15]
ws.write_row('C3', data)
ws.set_column('B:B',40)

for i in range(1,11):
   ws.write(i+4,0, 'style {}'.format(i))
   ws.add_sparkline(i+4,1,
   {'range':'Sheet1!C3:L3',
   'type':'column',
   'style':i})

wb.close()

输出

它将产生以下输出 –

Python XlsxWriter - 微线图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程