分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

Python实现从excel读取数据绘制成精美图像

一、实验介绍

1.1 实验内容

这个世界从古至今一直是一个看颜值的世界。对于我们作报告,写文章时使用的图片,也是一样的。一图胜千言,一张制作精美的图片,不仅能展示大量的信息,更能体现绘图者的水平,审美,与态度。我的老板,国内外多家SCIEI文章的审稿人,甚至跟我说,一篇文章拿到手里,一眼扫过去,看看数据和图片,就知道这篇文章值不值得发表,水平如何。由此观之,制作一张精美图片的意义,实在重大。本课程实现使用pythonexcel读取数据,并使用matplotlib绘制成二维图像。这一过程中,将通过一系列操作来美化图像,最终得到一个可以出版级别的图像。本课程对于需要书写实验报告,学位论文,发表文章,做PPT报告的学员具有较大价值。本课程的数据和图像,来源于我的一篇SCI文章,是一真实案例。

1.2 实验知识点

  • 使用xlrd扩展包读取excel数据
  • 使用matplotlib绘制二维图像
  • 美化图像,添加标注,注释,显示Latex风格公式,坐标点处透明化处理等技巧

1.3 实验环境

  • python2.7
  • Xfce终端

1.4 适合人群

本课程难度为中等,适合具有Python基础的用户,对于需要书写实验报告,学位论文,发表文章,做PPT报告的学员具有较大价值。

1.5 代码获取

你可以通过下面命令将数据和代码下载到实验楼环境中,作为参照对比进行学习。

$ wget http://labfile.oss.aliyuncs.com/courses/791/finally.py$ wget http://labfile.oss.aliyuncs.com/courses/791/my_data.xlsx$ wget http://labfile.oss.aliyuncs.com/courses/791/phase_detector.xlsx$ wget http://labfile.oss.aliyuncs.com/courses/791/phase_detector2.xlsx

二、开发准备

打开Xfce终端,下载并安装的相关依赖 。

$ sudo apt-get update$ sudo apt-get install python-dev$ sudo pip install numpy$ sudo apt-get install python-matplotlib$ sudo pip install xlrd$ sudo apt-get install python-sip$ sudo apt-get install libqt4-dev$ sudo apt-get install python-qt4 python-qt4-dev pyqt4-dev-tools qt4-dev-tools

遇到是否安装的询问时,输入y,按回车键继续安装。

三、实验步骤

3.1 绘制一个简单图像,测试扩展包安装是否正常

安装完成matplotlib后,运行一个小程序测试其是否正常。我们来绘制一个非常简单的正弦函数。

import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 10, 500)dashes = [10, 5, 100, 5]  # 10 points on, 5 off, 100 on, 5 offfig, ax = plt.subplots()line1, = ax.plot(x, np.sin(x), '--', linewidth=2,                 label='Dashes set retroactively')line1.set_dashes(dashes)line2, = ax.plot(x, -1 * np.sin(x), dashes=[30, 5, 10, 5],                 label='Dashes set proactively')ax.legend(loc='lower right')plt.show()

如果一切正常,应该得到如下显示的图片:

这段程序来自官方的例程,只作为检验安装包之用。这个图片过于简单,也算不上精美。

3.2 测试xlrd扩展包

xlrd顾名思义,就是excel文件的后缀名.xl文件read的扩展包。这个包只能读取文件,不能写入。写入需要使用另外一个包。但是这个包,其实也能读取.xlsx文件。

excel中读取数据的过程比较简单,首先从xlrd包导入open_workbook,然后打开excel文件,把每个sheet里的每一行每一列数据都读取出来即可。很明显,这是个循环过程。

from xlrd import open_workbookx_data1=[]y_data1=[]wb = open_workbook('phase_detector.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        x_data1.append(values[0])        y_data1.append(values[1])

如果安装包没有问题,这段代码应该能打印出excel表中的数据内容。解释一下 这段代码:打开一个excel文件后,首先对文件内的sheet进行循环,这是最外层循环;在每个sheet内,进行第二次循环,行循环;在每行内,进行列循环,这是第三层循环。在最内层列循环内,取出行列值,复制到新建的values列表内,很明显,源数据有几列,values列表就有几个元素。我们例子中的excel文件有两列,分别对应“角度”和DC值。所以在列循环结束后,我们将取得的数据保存到x_data1y_data1这两个列表中。

3.3 绘制图像V1.0

第一个版本的功能很简单,从excel中读取数据,然后绘制成图像。具体程序如下:

#!/usr/bin/python#-*- coding: utf-8 -*-import matplotlib.pyplot as pltimport xlrdfrom xlrd import open_workbookx_data=[]y_data=[]x_volte=[]temp=[]wb = open_workbook('my_data.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        x_data.append(values[0])        y_data.append(values[1])    plt.plot(x_data, y_data, 'bo-',label=u"Phase curve",linewidth=1)plt.title(u"TR14 phase detector")plt.legend()plt.xlabel(u"input-deg")plt.ylabel(u"output-V")plt.show()print 'over!'

程序简单,显示的效果也是丑到哭:

excel中读取数据的程序,上面已经解释过了。这段代码后面的函数是matplotlib绘图的基本格式,此处的输入格式为:

plt.plot(x轴数据, y轴数据, 曲线类型,图例说明,曲线线宽)

图片顶部的名称,由这行语句定义:

plt.title(u"TR14 phase detector")

最后,使用这一语句使能显示:

plt.legend()

3.4 绘制图像V1.1

这个图只绘制了一个表格的数据,我们一共有三个表格。但是就这个一个已经够丑了。我们先来美化一下。首先,坐标轴的问题:横轴的0点对应着纵轴的8,这个明显不行。我们来移动一下坐标轴,使之0点重合:

#!/usr/bin/python#-*- coding: utf-8 -*-import matplotlib.pyplot as pltfrom pylab import *import xlrdfrom xlrd import open_workbookx_data=[]y_data=[]x_volte=[]temp=[]wb = open_workbook('my_data.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        x_data.append(values[0])        y_data.append(values[1])plt.plot(x_data, y_data, 'bo-',label=u"Phase curve",linewidth=1)plt.title(u"TR14 phase detector")plt.legend()ax = gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))plt.xlabel(u"input-deg")plt.ylabel(u"output-V")plt.show()print 'over!'

好的,移动坐标轴后,图片稍微顺眼了一点,我们也能明显的看出来,图像与横轴的交点大约在180度附近:

解释一下移动坐标轴的代码:我们要移动坐标轴,首先要把旧的坐标拆了。怎么拆呢?原图是上下左右四面都有边界刻度的图像,我们首先把右边界拆了不要了,使用语句:

ax.spines['right'].set_color('none')

把右边界的颜色设置为不可见,右边界就拆掉了。同理,再把上边界拆掉:

ax.spines['top'].set_color('none')

拆完之后,就只剩下我们关心的左边界和下边界了,这俩就是x轴和y轴。然后我们移动这两个轴,使他们的零点对应起来:

ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))

这样,就完成了坐标轴的移动。

3.5 绘制图像V1.2

我们能不能给图像过零点加个标记呢?显示的告诉看图者,过零点在哪,就免去看完图还得猜,要么就要问作报告的人。

#!/usr/bin/python#-*- coding: utf-8 -*-import matplotlib.pyplot as pltfrom pylab import *import xlrdfrom xlrd import open_workbookx_data=[]y_data=[]x_volte=[]temp=[]wb = open_workbook('my_data.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        x_data.append(values[0])        y_data.append(values[1])plt.plot(x_data, y_data, 'bo-',label=u"Phase curve",linewidth=1)plt.annotate('zero point', xy=(180,0), xytext=(60,3), arrowprops=dict(facecolor='black', shrink=0.05),)plt.title(u"TR14 phase detector")plt.legend()ax = gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))plt.xlabel(u"input-deg")plt.ylabel(u"output-V")plt.show()print 'over!'

好的,加上标注的图片,显示效果是这样的:

标注的添加,使用这句语句:

plt.annotate(标注文字, 标注的数据点, 标注文字坐标, 箭头形状)

这其中,标注的数据点是我们感兴趣的,需要说明的数据,而标注文字坐标,需要我们根据效果进行调节,既不能遮挡原曲线,又要醒目。

3.6 绘制图像V1.3

我们把三组数据都画在这幅图上,方便对比,此外,再加上一组理想数据进行对照。这一次我们再做些改进,把横坐标的单位用Latex引擎显示;不光标记零点,把两边的非线性区也标记出来;

#!/usr/bin/python#-*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltfrom xlrd import open_workbookfrom pylab import *x_data=[]y_data=[]x_data1=[]y_data1=[]x_data2=[]y_data2=[]x_data3=[]y_data3=[]x_volte=[]temp=[]plt.annotate('Close loop point',size=18, xy=(180, 0.1), xycoords='data',                xytext=(-100, 40), textcoords='offset points',                arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2")                )plt.annotate(' ', xy=(0, -0.1), xycoords='data',                xytext=(200, -90), textcoords='offset points',                arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=-.2")                )plt.annotate('Zero point in non-monotonic region', size=18,xy=(360, 0), xycoords='data',                xytext=(-290, -110), textcoords='offset points',                arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2")                )wb = open_workbook('phase_detector.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        x_data1.append(values[0])        y_data1.append(values[1])plt.plot(x_data1, y_data1, 'g',label=u"Original",linewidth=2)        wb = open_workbook('phase_detector2.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        x_data2.append(values[0])        y_data2.append(values[1])plt.plot(x_data2, y_data2, 'r',label=u"Move the pullup resistor",linewidth=2)wb = open_workbook('my_data.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        x_data.append(values[0])        y_data.append(values[1])plt.plot(x_data, y_data, 'b',label=u"Faster D latch and XOR",linewidth=2)for i in range(360):    x_data3.append(i)    y_data3.append((i-180)*0.052-0.092)plt.plot(x_data3, y_data3, 'c',label=u"The Ideal Curve",linewidth=2)#plt.title(u"2 \pi phase detector", fontproperties=font)plt.title(u"$2\pi$ phase detector",size=20)plt.legend(loc=0)#显示label#移动坐标轴代码ax = gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))plt.xlabel(u"$\phi/deg$",size=20)plt.ylabel(u"$DC/V$",size=20)plt.show()print 'over!'

看一下显示的效果:

Latex表示数学公式,使用$$表示两个符号之间的内容是数学符号。圆周率就可以简单表示为$\pi$,简单到哭,显示效果却很好看。同样的,$\phi$表示角度符号,书写和读音相近,很好记。

对于圆周率,角度公式这类数学符号,使用Latex来表示,是非常方便的。这张图比起上面的要好看得多了。但是,依然觉得还是有些丑。好像用平滑线画出来的图像,并不如用点线画出来的好看。而且点线更能反映实际的数据点。此外,我们的图像跟坐标轴重叠的地方,把坐标和数字都挡住了,看着不太美。

图中的理想曲线的数据,是根据电路原理纯计算出来的,要讲清楚需要较大篇幅,这里就不展开了,只是为了配合比较而用,这部分代码,大家知道即可:

for i in range(360):    x_data3.append(i)    y_data3.append((i-180)*0.052-0.092)plt.plot(x_data3, y_data3, 'c',label=u"The Ideal Curve",linewidth=2)

3.7 绘制图像V1.4

我们再就上述问题,进行优化。优化的过程包括:改变横坐标的显示,使用弧度显示;优化图像与横坐标相交的部分,透明显示;增加网络标度。Talk is cheap, show me the code

#!/usr/bin/python#-*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltfrom xlrd import open_workbookfrom pylab import *x_data=[]y_data=[]x_data1=[]y_data1=[]x_data2=[]y_data2=[]x_data3=[]y_data3=[]x_volte=[]temp=[]plt.annotate('The favorite close loop point',size=16, xy=(1, 0.1), xycoords='data',                xytext=(-180, 40), textcoords='offset points',                arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2")                )plt.annotate(' ', xy=(0.02, -0.2), xycoords='data',                xytext=(200, -90), textcoords='offset points',                arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=-.2")                )plt.annotate('Zero point in non-monotonic region', size=16,xy=(1.97, -0.3), xycoords='data',                xytext=(-290, -110), textcoords='offset points',                arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2")                )wb = open_workbook('phase_detector.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        #x_data1.append(values[0])        x_data1.append(values[0]/180.0)        y_data1.append(values[1])plt.plot(x_data1, y_data1, 'g--',label=u"Original",linewidth=2)        wb = open_workbook('phase_detector2.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        #x_data2.append(values[0])        x_data2.append(values[0]/180.0)        y_data2.append(values[1])plt.plot(x_data2, y_data2, 'r-.',label=u"Move the pullup resistor",linewidth=2)wb = open_workbook('my_data.xlsx')for s in wb.sheets():    print 'Sheet:',s.name    for row in range(s.nrows):        print 'the row is:',row        values = []        for col in range(s.ncols):            values.append(s.cell(row,col).value)        print values        #x_data.append(values[0])        x_data.append(values[0]/180.0)        y_data.append(values[1])plt.plot(x_data, y_data, 'bo--',label=u"Faster D latch and XOR",linewidth=2)for i in range(360):    #x_data3.append(i)    x_data3.append(i/180.0)    y_data3.append((i-180)*0.052-0.092)plt.plot(x_data3, y_data3, 'c',label=u"The Ideal Curve",linewidth=2)plt.title(u"$2\pi$ phase detector",size=20)plt.legend(loc=0)#显示label#移动坐标轴代码ax = gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))plt.xlabel(u"$\phi/rad$",size=20)#角度单位为piplt.ylabel(u"$DC/V$",size=20)plt.xticks([0, 0.5, 1, 1.5, 2],[r'$0$', r'$\pi/2$', r'$\pi$', r'$1.5\pi$', r'$2\pi$'],size=16)for label in ax.get_xticklabels() + ax.get_yticklabels():    #label.set_fontsize(16)    label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.65 ))plt.grid(True)plt.show()print 'over!'

最终,这张图像的显示效果如下:

与我们最开始那张图比起来,是不是有种脱胎换骨的感觉?这其中,对图像与坐标轴相交的部分,做了透明化处理,代码为:

for label in ax.get_xticklabels() + ax.get_yticklabels():    #label.set_fontsize(16)    label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.65 ))

透明度由其中的参数alpha=0.65控制,如果想更透明,就把这个数改到更小,0代表完全透明,1代表不透明。

而改变横轴坐标显示方式的代码为:

plt.xticks([0, 0.5, 1, 1.5, 2],[r'$0$', r'$\pi/2$', r'$\pi$', r'$1.5\pi$', r'$2\pi$'],size=16)

这里直接手动指定x轴的标度。依然是使用Latex引擎来表示数学公式。

四、实验总结

这节课使用python的绘图包matplotlib绘制了一副图像。图像的数据来源于excel数据表。与使用数据表画图相比,通过程序控制绘图,得到了更加灵活和精细的控制,最终绘制除了一幅精美的图像。

五、课后习题

对比每个版本程序的不同,找出优化部分的程序;修改数据来源,从txt或者word中读取数据,绘制图像;将以前使用excel绘制的图像,改用python重新绘制一遍。

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片:

带尺寸的图片:

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block var foo = 'bar'; 

生成一个适合你的列表

  • 项目

    • 项目

      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分

Γ(z)=∫0∞tz−1e−tdt .\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞​tz−1e−tdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

ganttdateFormat  YYYY-MM-DDtitle Adding GANTT diagram functionality to mermaidsection 现有任务已完成               :done,    des1, 2014-01-06,2014-01-08进行中               :active,  des2, 2014-01-09, 3d计划一               :         des3, after des2, 5d计划二               :         des4, after des3, 5d
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

Python实现从excel读取数据并绘制成精美图像相关推荐

  1. python 读取excel太慢_实用技巧——Python实现从Excel读取数据并绘制成图像

    喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为 ...

  2. 实用技巧——Python实现从Excel读取数据并绘制成图像

    本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为: 使用xlrd扩展包读取excel数据 使用matplotlib绘制二维图像 美化图像,添 ...

  3. Python读取excel表格数据并绘制成柱状图 | 数据排序、柱状图颜色、标签乱码等问题通通能够解决!

    hello大家好, 我是你们的可爱丸, 我们又见面啦! python的功能十分强大, 它不仅可以用来做爬虫, 还可以用来做数据分析哦! 那么今天我就带着大家 用python 分析表格数据,并绘制成柱状 ...

  4. python怎么从excel获取数据_python如何读取excel表数据

    python读取excel表数据的方法:首先安装Excel读取数据的库xlrd:然后获取Excel文件的位置并且读取进来:接着读取指定的行和列的内容,并将内容存储在列表中:最后运行程序即可. pyth ...

  5. 怎么用python处理excel文件-Python自动化如何处理excel文件数据

    原标题:Python自动化如何处理excel文件数据 在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似 ...

  6. 从excel读取数据到datatable

    /// <summary>         ///          /// 从excel读取数据到datatable         /// using System.Windows.F ...

  7. 【爬虫+数据可视化】Python爬取CSDN博客访问量数据并绘制成柱状图

    以下内容为本人原创,欢迎大家观看学习,禁止用于商业及非法用途,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/article/ ...

  8. python 从同花顺获取数据导出,通达信PYTHON读取本地数据,如何使用python在文件中读取数据?...

    Q1:如何使用python在文件中读取数据? file = open('a','r').readlines()[1] Q2:python怎么将本地一个文件夹的所有文本读进内存中 列出文件,把各个文件打 ...

  9. Python获取excel的数据并绘制直方图

    Python刚入门,欢迎大家多多交流~ 最近做个小项目,获取医疗数据文件Raw Data MAKO v2.xlsx中的一个名为PHIN-22E_KR的sheet ,获取其指定几列的数据并绘制直方图.e ...

最新文章

  1. 斯坦福大学报告称中国AI论文引用率首超美国!但李国杰院士也发文灵魂拷问!...
  2. AutoX无人车完成1亿美元A轮融资,东风汽车领投,阿里旗下基金入股
  3. excel求期望_商务数据分析考试:决策树分析(Excel)-安聪
  4. python发声-python写报警程序中的声音实现winsound
  5. SQL 必知必会·笔记9使用子查询
  6. Annotation之一:Java Annotation基本功能介绍
  7. PHP字符串相关的方法
  8. MySQL InnoDB索引介绍及优化
  9. 计算机组成 交换的目的,计算机组成原理试卷.docx
  10. scp命令下载整个目录
  11. tp5数据排序分页展示
  12. 一文带你彻底理解Linux的各种终端类型及概念
  13. java2实用教程第四版pdf下载_Java 2实用教程(第4版)
  14. linux下libreoffice增加字体,自由办公说:LibreOffice添加中文标点扩展
  15. ios 切换多任务后台界面应用闪屏
  16. 安卓利用Xposed实现通话双向录音
  17. JSON——Json对象扁平化
  18. Java实习生常规技术面试题每日十题Java基础(四)
  19. 西电 计算机学院 博后流动站,西电7个博士后科研流动站接受专家组综合评估检查...
  20. php5.3不能连接mssql数据库的解决方法

热门文章

  1. 编程都该学什么语言?几个流行编程语言对比
  2. Deepin Linux系统安装及显示器配置教程(可竖屏)
  3. Cathy推荐Java面试题
  4. 脑电数据的实验范式及EEGLAB分析预处理
  5. 记戴尔科技峰会2017
  6. 功能测试的测试点全集
  7. 块存储、文件存储、对象存储这三者的区别
  8. 在html中frame标签的作用,HTML中的frame标签常见的6大属性,新手一定要悉知!
  9. kbd通达2017版破解后,自定义菜单无法调用表单开启流程/kbdkbd 错误,请联系管理员 /general/approve_center/new/insert.php/kbd
  10. 安卓 阿拉伯语显示时文字的适配