python导入excel散点图_Python 写excel文件并插入散点图

这两天做小实验,需要分析结果,当然需要些图表。实验的算例少说也有几十个,一个个导入excel,太烦了。幸好,本人是个程序员。

google了下,python写excel文件的方法不少,最后我选定了xlsxwriter这个库,使用python,很容易就能完成工作。下面说下步骤,并附上代码。

一、安装xlsxwriter

当然,python是一定要安装的,我使用的是Python 2.7.8。

现在安装xlsxwriter

git clone http://github.com/jmcnamara/XlsxWriter/ # clone 代码

cd XlsxWriter

python setup.py install # 将xlsxwriter安装到Python里

二、新建xlsx文件并添加worksheet

import xlsxwriter

workbook = xlsxwriter.Workbook('filename.xlsx') # 创建名为filename.xlsx的.xlsx文件,注意,这个库每次打开的文件都会被清空内容

worksheet1 = workbook.add_worksheet() # 创建worksheet,括号里可传worksheet的名字,如workbook.add_worksheet('abc')

worksheet2 = workbook.add_worksheet()

worksheet1.write('A1', 123) # 在excel文件的$A$1位置写入数字123

workbook.close()结果如下图:

三、给.xlsx文件添加数据并绘图

先给文件加内容:

import xlsxwriter

workbook = xlsxwriter.Workbook('chart_scatter.xlsx')

worksheet = workbook.add_worksheet()

# 给出内容标题

headings = ['Number', 'Batch 1', 'Batch 2']

data = [

[2, 3, 4, 5, 6, 7],

[10, 40, 50, 20, 10, 50],

[30, 60, 70, 50, 40, 30],

]

worksheet.write_row('A1', headings, bold) # 从$A$1位置开始横向把内容标题写入

worksheet.write_column('A2', data[0]) # 从$A$2位置开始纵向把内容写入

worksheet.write_column('B2', data[1])

worksheet.write_column('C2', data[2])添加散点图:

# 括号中的series是这个表所用的所有信息,包括显示数据在excel文件中位置,图表的格式等,说见文末的官网链接。

# 这个series包括以下向个内容,

# name为series名。在拆线图中就是这条拆线的名字

# categories为附属信息,本处做x坐标使用,但不是每种表都需要这个参数

# values指出显示数据位置,是series中唯一强制要求给出的内容

chart1.add_series(

{ 'name': '=Sheet1!$B$1'

, 'categories': '=Sheet1!$A$2:$A$7'

, 'values': '=Sheet1!$B$2:$B$7',})

# 这和上一个相似,不过使用索引来指示位置

chart1.add_series(

{ 'name': ['Sheet1', 0, 2]

, 'categories': ['Sheet1', 1, 0, 6, 0]

, 'values': ['Sheet1', 1, 2, 6, 2],})

# 为表、x轴、y轴设定名字

chart1.set_title ({'name': 'Results of sample analysis'})

chart1.set_x_axis({'name': 'Test number'})

chart1.set_y_axis({'name': 'Sample length (mm)'})# 在给定偏移位置插入图表

chartworksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) # D2是图表中的坐标

效果如下:

xlsxwriter官网:http://xlsxwriter.readthedocs.org/en/latest/contents.html

char类说明:http://xlsxwriter.readthedocs.org/en/latest/chart.html

散点图例子:http://xlsxwriter.readthedocs.org/en/latest/example_chart_scatter.html

你可能感兴趣的:(python导入excel散点图_Python 写excel文件并插入散点图)