精华内容
下载资源
问答
  • Python太有用而且很方便 图表可以用matplotlib轻松制作,数值计算只要有numpy就行。...”这个时候,我在想“用Python可以制图,是不是也可以制作表格呢?”突然产生了这样的疑问。matplotlib答案就在本文。 显...

    转载自品略图书馆  http://www.pinlue.com/article/2020/06/0516/3710687075719.html

     

    Python太有用而且很方便

    图表可以用matplotlib轻松制作,数值计算只要有numpy就行。最近,Python被广泛用于机器学习系统的研究,甚至还能制作游戏。我突然想知道:“是否可以用Python来制作图表而不是表格?”这个时候,我在想“用Python可以制图,是不是也可以制作表格呢?”突然产生了这样的疑问。matplotlib答案就在本文。

    显然,matplotlib似乎具有创建表的功能。代码看起来就是像下面的这样。

    import matplotlib.pyplot as pltimport pandas as pdif __name__ == "__main__":    data = {        "linux": [1.2, 2.2, 3.1, "-", 2.0, 1.0, 2.1, 3.5, 4.0, 2.0, ],        "linuxmi": [5.2, 6.7, 7.9, 8.3, 1.2, 5.7, 6.1, 7.2, 8.3, "-", ],        }    df = pd.DataFrame(data)    fig, ax = plt.subplots(figsize=(3, 3))    ax.axis("off")    ax.axis("tight")    ax.table(cellText=df.values,             colLabels=df.columns,             bbox=[0, 0, 1, 1],             )    plt.show()

    创建表有点麻烦,并且更改表的设计并不容易。

     

    要改变设计,如下代码:

    import matplotlib.pyplot as pltimport pandas as pdif __name__ == "__main__":    data = {        "Linux": [29, 23, 29, 20, 25, 23, 26],        "linuxmi": [26, 23, 29, 28, 24, 22, 29],    }    df = pd.DataFrame(data)    fig, ax = plt.subplots(figsize=(3, 3))    ax.axis("off")    ax.axis("tight")    tb = ax.table(cellText=df.values,                  colLabels=df.columns,                  bbox=[0, 0, 1, 1],                  )    tb[0, 0].set_facecolor("#363636")    tb[0, 1].set_facecolor("#363636")    tb[0, 0].set_text_props(color="w")    tb[0, 1].set_text_props(color="w")    plt.show()

    看起来像这样。

     

    有目的要求,设计就麻烦了。于是,就以matplotlib的table函数为基础,制作一个能够简单地制作漂亮表格的库。我也想尝试PyPI,所以我也尝试了pip install。pytable这是一个简单的名称,但是我现在创建了它。pip install pytab可以安装。本来想要pytable但是因为之前约好了所以妥协。(希望你能从暂时没有更新的PyPI中删除吧。)然后像以下那样指定自变量,制作出简单且漂亮的表格。

    import pytab as ptif __name__ == "__main__":    >        "Linux": [29, 23, 29, 20, 25, 23, 26],        "LinuxMi": [26, 23, 29, 28, 20, 22, 29],    }    pt.table(        data=data,        th_type="dark",        table_type="striped"    )    pt.show()

    其他详细的表格可以自定义,感兴趣的朋友可以自己测试下。

     

    ...END...

     

    展开全文
  • 之前学习的方法是通过是SPSS软件然后进行数据整理归类后自动生成或者相关生成对应的图形,然后今天老师教的是如何通过编码的方式从Python软件中制作图形。相比如之前的方法,Python制图可能会需要对基本数据的含义和...

    关于如何使用Python绘制基本数据图形模型

    通过之前的数据分析软件的学习,了解了数据清洗、处理后最好是输出图形,以方便后期的数据分析报告的输出。之前学习的方法是通过是SPSS软件然后进行数据整理归类后自动生成或者相关生成对应的图形,然后今天老师教的是如何通过编码的方式从Python软件中制作图形。相比如之前的方法,Python制图可能会需要对基本数据的含义和输出数据表格的指向性更加的了解,所有的数据图形模型的框架都是通过编码的形式自己绘制。对于复杂的数据图形的绘制应该会难度增加很多!

    几个基本数据图形模型的编码模板

    折线图的绘制

    import random random函数忘了是什么含义, 查了一下博客园一个叫Python终结者的博客,random函数是生成一个随机数值的函数。(学习一下怎么在博客中插入图片,怎么解析出截图的图片URL??)问一下这里为什么导入random函数??

    import matplotlib as mpl

    import matplotlib.pyplot as plt 以上两句编程语言为Python绘图的模块导入语,基本上要通过Python绘图,首先就直接po这两句上去!

    mpl.rcParams['font.sans-serif'] = ['FangSong']

    mpl.rcParams['font.size'] = 8 以上两句编程语言为Python绘图的字体显示和调整模块导入语,基本上要通过Python绘图,其次就直接po这两句上去!

    y = []

    y.append(random.randint(20,35))

    y = [random.randint(20,35) for i in range(120)]

    x = list(range(120)) Python绘图首先需要对变量进行定义和赋值,这里开始就有别于其他表格式软件绘图。因为不同于其他表格式绘图软件,可以在选择图形后更改X或者Y的赋 值,可能Python更改起来比较麻烦,所以前期的数据处理对于图形分析目标效果的确定和X、Y轴的赋值需要比较清楚明白。

    fig = plt.figure(figsize=(20,8)) 这一句是表格布局画板,也是直接po上去!

    plt.plot(x,y)

    xables = ['10点{}分'.format(i) for i in range(60)]

    xables + = ['11点{}分'.format(i) for i in range(60)]

    plt.xtick(x[::3],xables[::3],rotation=45)

    plt.yticks(y) 以上是对表格X轴和Y轴进行赋值、数据调整、布局调整等步骤。其中可以完成以下相关的处理:1、赋值;2、数据分割;3、X轴和Y轴的数字用中文代替;4、调整中 文显示的角度;....

    plt.xlabel('时间', color = 'red',fontdict = {'fontsize':40})

    plt.ylabel('温度',color = red,fontdict= {'fontsize':40})

    plt.title('某日10点到12点的温度变化趋势图') 以上是对表格X轴、Y轴和表格标题赋中文注解,以及调整文字属性:1、文字内容;2、字体大小;3、字体颜色;....

    plt.grid(alpha = 0.5) 这是对表格进行背景网格设置,为了能清楚看到X轴和Y轴的对应取值

    plt.show()

    这是一个完整的折线图的编码流程,其实发现模块套用度还是挺高的,就是数据处理的时候,可能需要自己添加一些函数或者其他的编程语言处理,这个可能以后需要着重积累经验的地方!

    多元折线图的绘制

    import matplotlib.pyplot as plt

    import matplotlib as mpl

    mpl.rcParams['font.sans-serif'] = ['FangSong']

    mpl.rcParams['font.size'] = 16

    x = range(11,31)

    y_self = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]

    y_mate = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]

    fig = plt.figure(figsize=(20,8))

    plt.plot(x, y_self, label='同桌', color='black', linestyle= '-')

    plt.plot(x, y_mate, label='自己')

    x_lables = ['{}岁'.format(i) for i in x]

    plt.xticks(x, x_lables)

    plt.xlabel('年龄')

    plt.ylabel('女朋友个数')

    plt.title('交女朋友个数对比')

    plt.legend()

    plt.grid(alpha=0.5)

    plt.show()

    散点图的绘制

    import matplotlib as mpl

    import matplotlib.pyplot as plt

    mpl.rcParams['font.sans-serif'] = ['FangSong']

    mpl.rcParams['font.size'] = 16

    x_3 = list(range(1,32))

    y_3 = [10, 16, 17, 14, 12, 10, 12, 6, 6, 7, 8, 9, 12, 15, 15, 17, 18, 21, 16, 16, 20, 13, 15, 15, 15, 18, 20, 22, 22, 22, 24]

    x_10 = [i+50 for i in x_3]

    y_10 = [26, 26, 28, 19, 21, 17, 16, 19, 18, 20, 20, 19, 22, 23, 17, 20, 21, 20, 22, 15, 11, 15, 5, 13, 17, 10, 11, 13, 12, 13, 6]

    fig = plt.figure(figsize=(20,8))

    plt.scatter(x_3,y_3,label='三月份')

    plt.scatter(x_10,y_10,label='十月份')

    y=set(y_3+y_10)

    min_y = min(y)

    max_y = max(y)

    plt.yticks(range(min_y,max_y+1))

    x = x_3+x_10

    x_lables = ['三月{}日'.format(i) for i in range(1,31)] + ['十月{}日'.format(i) for i in range(1,31)]

    plt.xticks(x[::2], x_lables[::2], rotation=45)

    plt.xlabel('日期')

    plt.ylabel('温度')

    plt.title('北京三月份与十月份气温变化趋势图')

    plt.grid(alpha=0.3)

    plt.legend()

    plt.annotate('最高点', xy=(53,28), xytext=(45,26), arrowprops={'arrowstyle':'->'})

    plt.annotate('最低点', xy=(73,5), xytext=(45,7), arrowprops={'arrowstyle':'->'})

    plt.show()

    柱状图的绘制

    import matplotlib as mpl

    import matplotlib.pyplot as plt

    mpl.rcParams['font.sans-serif'] = ['FangSong']

    mpl.rcParams['font.size'] = 16

    movies = ['哪吒之魔童降世', '流浪地球', '复仇者联盟4:终局之战', '疯狂的外星人', '飞驰人生', '烈火英雄', '速度与激情:特别行动', '蜘蛛侠:英雄远征', '扫毒2天地对决', '大黄蜂', '惊奇队长', '比悲伤更悲伤的故事', '哥斯拉2:怪兽之王', '阿丽塔:战斗天使', '银河补习班', '狮子王', '反贪风暴4 ', '熊出没·原始时代', '使徒行者2:谍影行动', '大侦探皮卡丘']

    y = [49.04, 46.18, 42.05, 21.83, 17.03, 16.74, 14.16, 14.01, 12.85, 11.38, 10.25, 9.46, 9.27, 8.88, 8.64, 8.23, 7.88, 7.09, 6.92, 6.34]

    x = range(len(movies))

    fig = plt.figure(figsize=(20,8))

    plt.bar(x,y)

    x_lables= ['{}',format(i) for i in range(movies)]

    plt.xlabel('电影')

    plt.ylabel('票房')

    plt.title('2019年电影票房前20位趋势图')

    plt.show()

    展开全文
  • 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析。 那么你知道如何使用Python读取Excel中的图片?又如何...

    大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析。

    那么你知道如何使用Python读取Excel中的图片?又如何使用Python直接往Excel中写入图片?甚至使用Python制作一个Excel可视化大屏?

    因为图片的存储格式与数字数据格式不一样,所以实现起来稍显复杂,本文就将对以下两个部分进行深入讲解:

    • Python读取Excel图片
    • Python写入Excel图片

    涉及的Python模块有以下几个

    • PIL
    • win32
    • os
    • zipfile
    • numpy
    • xlsxwriter

      一、准备

    由于此次包比较多,我们需要在命令行中使用pip进行安装

    pip install pillow   #这是对模块PTL的安装
    pip install pypiwin32    #这是对win32的安装
    pip install os 
    pip install zipfile
    pip install numpy
    pip install xlsxwriter

    在下载的过程中,有些包是比较大的,会出现超时time out的报错现象。这里介绍几个国内的镜像,大家可以尝试其中一个,速度会比单纯的pip快10倍不止。地址如下:

    http://pypi.douban.com/simple/ 豆瓣
    http://mirrors.aliyun.com/pypi/simple/ 阿里
    http://pypi.hustunique.com/simple/ 华中理工大学
    http://pypi.sdutlinux.org/simple/ 山东理工大学
    http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学
    https://pypi.tuna.tsinghua.edu.cn/simple 清华

    代码如下:

    pip install 模块名 -i 网址

    清华镜像举例

    pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

    注意:如果是原生态的cmd窗口安装的,会提示加个--user命令,读者按照指示即可。

      二、Python读取Excel图片

    上面说过,Python读取Excel图片有两种方法

    第一种:将xlsx后缀名改为zip形式,即进行压缩。而后读取里面存储图片的文件,将里面的图片取出来。

    第二种:用提取到粘贴板中的方法将图片保存到JPG、PNG等格式中

    两种方法各有缺点和优点,第一种方法缺点是代码量比较长,优点是万能,Excel的所有格式都可以运用。

    第二种的优点是代码量少,缺点是对于一些xlsx的文件运用不了

    首先我们先讲解第一种方法,之后在讲解第二种方法时,大家可以进行对比!

    讲解之前我们用的是以下的example.xlsx文件,里面有四个工作表,每个工作表都有一张数据可视化图。例如工作表3中的气泡图如下:

    2.1  方法一

    和之前的文章一样,我们先给出全部代码与效果图之后再进行讲解

    import os
    import zipfile
    import os
    from PIL import Image
    import numpy as np 
    path = r'D:'
    count = 1
    for file in os.listdir(path):
        new_file = file.replace(".xlsx",".zip")
        os.rename(os.path.join(path,file),os.path.join(path,new_file))
        count+=1
    print('总共有'+str(count)+'个文件夹')
    number = 0
    craterDir = "D:/"  # 存放zip文件的文件夹路径
    saveDir = "D:/"  # 存放图片的路径 
    list_dir = os.listdir(craterDir) 
    for i in range(len(list_dir)):
        if 'zip' not in list_dir[i]:
            list_dir[i] = ''
    while '' in list_dir:
        list_dir.remove('')    
    for zip_name in list_dir:
        print(zip_name)
        azip = zipfile.ZipFile(craterDir + zip_name)
        namelist = (azip.namelist())
     
        for idx in range(0,len(namelist)):
            if namelist[idx][:9] == 'xl/media/':#图片是在这个路径下
                img_name = saveDir + str(number)+'.jpg'
                f = azip.open(namelist[idx])
                img = Image.open(f)
                img = img.convert("RGB")
                img.save(img_name,"JPEG")
                number += 1
    azip.close()  #关闭文件,必须有,释放内存
    

    效果展现如下:

    可以看到example.xlsx里面的四张工作表里的图片都提取出来,保存在本地。

    现在我们进行代码解析,首先,引入相关包

    import os
    import zipfile
    from PIL import Image
    import numpy as np 
    

    其次,就是将xlsx格式结尾的文件夹进行压缩,转化成zip结尾的文件

    path = r'D:'   #excel文件位置
    count = 1
    for file in os.listdir(path):
        new_file = file.replace(".xlsx",".zip")
        os.rename(os.path.join(path,file),os.path.join(path,new_file))
        count+=1 
    

    这里首先设置了example.xlsx的文件位置,在D盘的根目录,读者需要做调整的话在path那行代码修改即可。

    其次用os模块的listdir函数用于返回指定的文件夹包含的文件或文件夹的名字的列表。再用for循环遍历这个列表,将.xlsx结尾的改为.zip结尾。

    同时再用os.rename()函数重命名对应的文件夹。count是用来告诉用户这个文件夹有多少个文件的,用于检验。

    最后,就是在这些压缩过后的文件中,提取图片。代码如下

    number = 0
    craterDir = "D:/"  # 存放zip文件的文件夹路径
    saveDir = "D:/"  # 存放图片的路径 
    list_dir = os.listdir(craterDir) # 获取所有的文件名
    
    for i in range(len(list_dir)):
        if 'zip' not in list_dir[i]:
            list_dir[i] = ''
    while '' in list_dir:
        list_dir.remove('')   
    

    下面是代码解析

    首先,number=0是用来最后命名图片的。craterDir是指存放zip的文件夹路径,saveDir指存放提取后的图片的指定路径。用os.listdir()函数来获取在这个路径下的所有文件名字。

    这里强调下,本章代码采用的路径,除了上面讲过的path外,其他都用绝对路径,因为如os模块和zipfile模块,这些模块用绝对路径更不会报错。

    下面用一个for循环加个while循环的用途是剔除不是.zip结尾的文件夹。这时有读者会问,用for循环加个列表del函数不香吗

    其实是不行的,大家可以去尝试一下。原因是,你每次del广域网一个列表的元素,列表的数量值会一直在变而不是固定的,这样就会导致超出索引的错误。

    for zip_name in list_dir:
        print(zip_name)
        # 默认模式r,读
        azip = zipfile.ZipFile(craterDir + zip_name)
        # 返回所有文件夹和文件
        namelist = (azip.namelist())
     
        for idx in range(0,len(namelist)):
            if namelist[idx][:9] == 'xl/media/':#图片是在这个路径下
                img_name = saveDir + str(number)+'.jpg'
                f = azip.open(namelist[idx])
                img = Image.open(f)
                img = img.convert("RGB")
                img.save(img_name,"JPEG")
                number += 1
    azip.close()  #关闭文件,必须有,释放内存
    

    最后就是读取zip文件中的图片。用for循环遍历我们已经处理过的list——dir列表,得到zip文件名,再用zipfile.ZipFile()函数来打开我们zip文件。其中azip.namelist()函数是用来装zip文件里面所有文件的文件名列表。

    接下来可以进入到zip文件中仔细观察,可以发现我们所需要的图片在'xl/media/'这个路径下,有了这个目标后,我们再用for循环遍历zip文件里的所有文件,找到路径下的图片。

    第二个for循环需要注意几点

    azip.open()是zipfile模块里的打开命令。相对应的,就有azip.close()这个命令,这个命令再整个程序运行完后必须运训,因为不仅可以清理所占空间,而且如果你需要还原xlsx文件格式的话,你就必须得关闭,不然会报错。

    Image.open()是模块Pillow模块的读取图片函数,也算是我们本章最重要的函数之一了,与其搭配的是Image.save()函数,是用来存储的。中间插着一段代码img.convert("RGB"),这个一般都是要用到的,我们存储的图片大多数是有色的,也就是RGB图像,如果是黑白的话就要调一下参数。有兴趣的读者可以自行查阅文献。

    2.2  方法二

    接下来讲解第二种方法,先上代码

    from PIL import ImageGrab
    import win32com.client as win32
    
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    workbook = excel.Workbooks.Open(r'D:\example.xlsx')
    
    num = 1
    for sheet in workbook.Worksheets:
        for i, shape in enumerate(sheet.Shapes):
            if shape.Name.startswith('Picture'):
                shape.Copy()
                image = ImageGrab.grabclipboard()   
                image.convert('RGB').save(r'D:\{}.jpg'.format(num), 'jpeg')
                num+=1
    excel.Quit()
    

    效果呈现:

    从上图可以看到,与方法一的效果相比,基本一致,除了没有进行压缩,下面简单说一下代码

    from PIL import ImageGrab
    import win32com.client as win32
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    workbook = excel.Workbooks.Open(r'D:\example.xlsx')
    

    首先先引入方法二相关的模块,第三行代码是引入模块win32中对Excel中的运用程序。第四行和方法一一样是读取D盘根目录下的example.xlsx文件。

    num = 1
    for sheet in workbook.Worksheets:
        for i, shape in enumerate(sheet.Shapes):
            if shape.Name.startswith('Picture'):
                shape.Copy()
                image = ImageGrab.grabclipboard()   
                image.convert('RGB').save(r'D:\{}.jpg'.format(num), 'jpeg')
                num+=1
    excel.Quit()
    

    第一行num=1,是用来为下面存储图片的图片命名的

    接下来就是进行for嵌套for,第一个for循环的目的是遍历所选Excel文件中的工作表,我们有四张图片放在example.xlsx的四个不同的工作表里。第二个for循环是用来遍历每个工作表中的图片并复制到粘贴板中的。

    其中,enumerate()函数是用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。这里的意思就是存放每张图片数据信息的索引。i是数据下标,shape是数据

    shape.Name.startswith('Picture')是判断获到的shape里面名字信息中的开头是否符合'pitcure',如果是,则返回True。

    shape.Copy()函数是对一个一个字典的浅复制(拷贝)。简单来说就是只在程序中的复制。

    ImageGrab.grabclipboard()函数是方法二的精髓,这个函数是抓取当前剪贴板的快照,返回一个模式为“RGB”的图像或者文件名称的列表。如果剪贴板不包括图像数据,这个函数返回空。读者可以使用函数isinstance()来检查该函数返回的是一个有效图像对象或者其他数据。

    image.convert('RGB').save(r'D:\{}.jpg'.format(num), 'jpeg')这段语句,是将得到的image以jpg的格式存储。这里的jpeg其实就是jpg,只不过模块里以jpeg代替jpg。

    注意,这里必须用convert('RGB'),如果不使用.convert('RGB')进行转换的话,读出来的图像是RGBA四通道的,A通道为透明通道,运出来是没有图像显示的。因此使用convert('RGB')进行通道转换。

    至此,我们就讲完了使用Python提取Excel中图片的两种方法,大家可以根据自己的情况来选择如恶化提取Excel中的图片。

      二、Python写入Excel图片

    在讲完如何用Python提取Excel中图片之后,下面我们将讲解如何用Python将图片写入到Excel文件中。

    我们常用的模块是xlsxwriter。这里先介绍这个模块的常用插入图片函数

    worksheet.insert_image(row,col,image[,options] :在工作表单元格中插入一张图片

    参数介绍如下:

    row(int) - 单元格所在的行(从0开始)

    col(int) - 单元格所在的列(从0开始)

    image(string) - 图片文件名(含路径)

    options(dict) - 可选的图片位置,缩放,url参数

    同时insert_image()方法接受字典形式的可选参数来定位和缩放图片。默认值为

    {
        'x_offset': 0,    #以像素为单位,可以大于每个单元格的宽度和高度
        'y_offset': 0,
        'x_scale': 1,
        'y_scale': 1,
        'url': None,
        'tip': None,
        'image_data': None,
        'positioning': None,
    }

    上面几个参数主要作用如下:

    x_scale和y_scale参数可以用于水平及垂直的缩放图片。

    url参数可以为图片添加超链接/url, tip 参数为含有超链接的图片提供可选的鼠标悬停时的提示信息

    image_data参数用于在io.BytesIO中添加内存中的字节流,一般不用

    positioning参数可以用来控制图片对象的位置

    接下来会做一个简单的程序来演示:

    这里用一份数据简单的画出一个折线图,数据是一份广汇汽车的股票数据,从8月底到10月底的数据。以收盘价和时间画一个简单的折线图.

    代码如下:

    import pandas as pd
    import matplotlib.pyplot as plt
    import matplotlib.style as psl
    import xlsxwriter
    fig = plt.figure()
    df = pd.read_excel(r'D:\数据.xlsx')
    title = ['日期','收盘价']
    df = df[title]
    plt.plot(df['日期'],df['收盘价'])
    plt.gcf().autofmt_xdate()#自动调整角度
    plt.savefig(r'D:\数据折线图.jpg')
    

    Python画出的图如下:

    现在我们要将其插入到一份名为数据image.xlsx的excel文件中,来看看代码怎么写👇

    首先使用xlswriter创建一个新Excel文件并添加一个工作表

    
    workbook = xlsxwriter.Workbook(r'D:\数据images.xlsx')
    worksheet = workbook.add_worksheet()
    

    下面使用.insert_image插入图片。

    worksheet.write('A2', '插入第一张图片:')
    worksheet.insert_image('B2', r'D:\数据折线图.jpg')
    
    worksheet.write('A12', '插入第二张即位偏移图片:')
    worksheet.insert_image('B12', r'D:\数据折线图.jpg', {'x_offset': 15, 'y_offset': 10})
    
    
    # 插入一张缩放了的图片。
    worksheet.write('A23', '插入第三张缩放了的图片:')
    worksheet.insert_image('B23', r'D:\数据折线图.jpg', {'x_scale': 0.5, 'y_scale': 0.5})
    
    workbook.close()
    

    最后要注意一定要用workbook.close()才能生成,效果呈现如下

    可以看到,我们使用Matplotlib生成的折线图被插入到我们预定的指定位置中!

    至此,本文就结束了,相信你已经学会如何使用Python与Excel图片之间的交互,并能够结合具体的需求进行批量操作

    在这里还是要推荐下我自己建的Python开发学习群:1156465813,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2020最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴!

    展开全文
  • 最近在学习如何使用Python结合matplotlib做数据统计可视化。 由于绘制的表格比较多,因此在分多个子图的基础上又制作了轮播效果。使得能够一次显示三张图表,在停顿几秒之后,又可以显示另外三张图表。类似地即可...

    最近在学习如何使用Python结合matplotlib做数据统计可视化。
    由于绘制的表格比较多,因此在分多个子图的基础上又制作了轮播效果。使得能够一次显示三张图表,在停顿几秒之后,又可以显示另外三张图表。类似地即可实现轮播效果。
    主要用到的函数有plt.clf()用来清空窗口内的子图的内容,而不关闭窗口。plt.pause()用来设置暂停时长。
    最外层用了一个无限循环,让它能够一直循环播放。

    i=0
    while 1:
        if i%2==0:
            plt.clf()
            s1=plt.subplot(3,1,1) 
            s1.set(title='1-54')
            plt.bar(x1,y1)
            plt.subplot(3,1,2)
            plt.bar(x2,y2)
            plt.subplot(3,1,3) 
            plt.bar(x3,y3)
            plt.pause(0.5)  #显示秒数
            i+=1
        else:
            plt.clf()
            s1=plt.subplot(3,1,1) 
            s1.set(title='55-108')
            plt.bar(x4,y4)
            plt.subplot(3,1,2) 
            plt.bar(x5,y5)
            plt.subplot(3,1,3) 
            plt.bar(x6,y6)
            plt.pause(0.5)  #显示秒数
            i+=1
    plt.show()
    
    展开全文
  • 之前有分享过如何用Python发送邮件的文章,今天再分享一个如何用几行Python代码让财务部妹子追着喊666的实用案例。 喜欢编程的小伙伴可以加小编的Q群1026782549,进群可以领取免费的学习资料跟源代码哦! 需求描述 ...
  • python3 tkinter如何绑定事件

    千次阅读 2017-04-19 17:42:08
    一、目的在上一篇《python3 实现自动生成入账记录表》说到通过编辑bat文件进行参数的输入不是很方便,本篇就是tkinter模块制作输入信息界面,输入完成点击’ok’键,触发写好的脚本,使得自动生成入款对账记录表格...
  • 二者在功能达成上有重叠,工作过程中经常需要转换,如果内容少,还可以手动解决,但是一旦数据量庞大,靠手动,耗时费力不说,还很容易出现差错,今天以两个实例,教大家如何用Python实现word和excel之间的转换。...
  • 二者在功能达成上有重叠,工作过程中经常需要转换,如果内容少,还可以手动解决,但是一旦数据量庞大,靠手动,耗时费力不说,还很容易出现差错,今天以两个实例,教大家如何用Python实现word和excel之间的转换。...
  • 今天分享一个如何用几行Python代码让财务部妹子追着喊666的实用案例。 需求描述 最近公司要发奖金,需要财务部妹子给每个员工发一封邮件,现在全公司 10 个部门每个人的奖金情况已经计算好了,并根据部门分别制作...
  • 之前有分享过如何用Python发送邮件的文章,今天再分享一个如何用几行Python代码让财务部妹子追着喊666的实用案例。 需求描述 最近公司要发奖金,需要财务部妹子给每个员工发一封邮件,现在全公司 10 个部门每个人...
  • 二者在功能达成上有重叠,工作过程中经常需要转换,如果内容少,还可以手动解决,但是一旦数据量庞大,靠手动,耗时费力不说,还很容易出现差错,今天以两个实例,教大家如何用Python实现word和excel之间的转换。...
  • **互联网公司很多人都喜欢用Python完成自动化办公,表格处理,数据分析、图表制作等工作。**无论你做研发,系统架构,还是做产品,运营,甚至是管理,数据分析就是你的基本功,它不单单是一个职位,而是一个技能。 ...
  • Microsoft Excel已成为最流行的个人计算机数据处理软件,它能够方便的制作出各种电子表格,使用公式和函数对数据进行复杂的运算;各种图表来表示数据直观明了;利用超级链接功能,用户可以快速打开局域网或...
  • 一些做运营的小伙伴门...今天我们就来学习如何用python快速创建图表,我们需要用到的是xlrd,xlwt这两个读取和操作Excel表格的python库,具体代码如下: import xlwt,xlrd path = r'D:\software\excel' data = ...
  • 任务156: 如何用图表讲故事? 任务157: Tableau家族产品 任务158: Tableau发展历程 任务159: Tableau产品优势 任务160: Tableau Desktop安装配置 任务161: Tableau的导航与菜单 任务162: Tableau设计流程最佳...
  • 制作报表xlwt

    2021-06-01 21:53:37
    报表就是用表格、图表等格式来动态显示数据,所以有人这样的公式来描述报表: 报表 = 多样的格式 + 动态的数据 有很多的三方库支持在Python程序中写Excel文件,包括xlwt、xlwings、openpyxl、xlswriter等,...
  • 您还可以在使用API​​组件的xThunkable中以及在您的API中使用此扩展程序使用python,nodeJS,PHP等制作的网络应用。 我在上创建了一些博客,并展示了一些教程视频,以介绍如何在各种项目中使用它。 如果您有任何或...
  • 互联网公司很多人都喜欢用Python完成自动化办公,表格处理,数据分析、图表制作等工作。无论你是运营、产品还是做研发在数不清的场景下,数据分析就是你的基本功,它不单单是一个职位,而是一个技能。 但是很多人一...
  • 其它身份认证 基本的工作周期 更新你的工作拷贝 修改你的工作拷贝 检查你的修改 查看你的修改概况 检查你的本地修改的详情 取消本地修改 解决冲突(合并别人的修改) 手工合并冲突 复制文件到你的工作文件 脚注:...
  • tabulate:现代C++的表格制作工具。 TCLAP:用于在ANSI C++中定义和访问命令行参数的成熟、稳定、功能多样的库。 termbox:用于编写基于文本的用户界面的C库。 压缩 压缩和归档库 bit7z:C++静态库,提供与7-...
  • 表格打印 https://github.com/olekukonko/tablewriter reflect 更高效的反射API https://github.com/modern-go/reflect2 msgfmt (格式化字符串,将%更换为变量名) https://github.com/modern-go/msgfmt 可取消...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    实现:事物是如何工作的特殊细节(如何做) 扩展机制 约 束:允许对模型元素添加新的规则 构造型:基于已有的建模元素引入新的建模元素 标记值:允许为模型元素添加新的特性,是带有相关值得关键字 JAVA开发平台体系...
  • 如何用prometheus监控k8s集群中业务pod的metrics 基于k8s自身发现机制来监控pod中的透出的metrics指标。 用Prometheus监控K8S,目前最实用的部署方式都说全了 基于k8s自身发现机制来监控pod中的透出的...
  • 5.3.8 Backup模块(制作数据库备份) 72 5.3.9 Restore模块(备份恢复数据库) 73 5.3.10 Replication Status模块(查看镜像机制的工作状态) 74 5.3.11 Catalogs模块(对数据库和数据表进行管理) 74 5.4 ...
  • 组内repo盘点

    2020-12-08 20:12:56
    - <a href="https://github.com/program-in-chinese/jinxiaocun">Spring Boot演示</a> 中文命名Java类/变量/方法,数据库中的表格/列. - ...
  • MYSQL

    2007-05-31 14:14:04
    10 从 MySQL 得到最大的性能 10.1 优化概述 10.2 系统/编译时和启动参数的调节 10.2.1 编译和链接如何影响 MySQL 的速度 10.2.2 磁盘问题 10.2.2.1 为数据库和表格使用符号链接 10.2.3 ...
  • MySQL中文参考手册

    2010-08-10 22:11:55
    10.2.2.1 为数据库和表格使用符号链接 10.2.3 调节服务器参数 10.2.4 MySQL 怎样打开和关闭数据库表 10.2.5 在同一个数据库中创建大量数据库表的缺点 10.2.6 为什么有这么多打开的表? 10.2.7 MySQL 怎样使用...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

如何用python制作表格

python 订阅