python结合影刀开发数据可视化指令——(折线图,散点图... ...)

        我们用影刀把数据抓取下来,有时候会需要对这些数据进行可视化,那我们就又得去其他编辑器里面写可视化代码,这样会比较麻烦,那就可以直接在影刀里面把可视化封装成一条条指令,直接把我们抓取的的数据传进去这条指令进行可视化,这样就方便多了。

        首先需要在影刀里面install matplotlib,import matplotlib(除了matplotlib,还可以用Seaborn)

python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第1张图片

然后在这个python模块里面用matplotlib包来写可视化代码,这里,就用双折线图来演示吧:

'''
x_data: x轴数据
x_name:x轴名称
y1_data:折线1数据
y2_data:折线2数据
y1_name:折线1名称
y2_name:折线1名称
y_description:y轴名称
title:图片标题
path:保存图片路径
'''
from matplotlib import pyplot as plt
import matplotlib

def zexain(x_data, x_name, y1_data, y2_data, y1_name, y2_name, y_description, title):
    # 设置全局变量的中文字体
    font = {'family': 'FangSong',
            'weight': 'bold',
            'size': '16'}
    plt.rc('font', **font)
    '''figure是图形图标的意思,在这里指的是我们画的图,通过实例化一个figure并且传递参数,
    能够在后台自动使用该figure实例,在图像模糊时传入dip参数(每英寸像素点多少个),让图片更加清晰
    figsizes传入的是宽和高
    '''
    fig = plt.figure(figsize=(20, 8), dpi=80)
    # x轴数据,是一个可迭代的对象
    x  = x_data
    # y轴数据,是一个可迭代的对象
    y_1 = y1_data
    y_2 = y2_data
    
    # 传入x, y通过plot绘制出图
    plt.plot(x, y_1, label=y1_name)
    plt.plot(x, y_2, label=y2_name)
    # 添加图例,折线的名字才可以显示出来
    plt.legend()
    
    x1 = ["{}时".format(i) for i in x_data]
    plt.xticks(x, x1)
    plt.yticks(range(min(y_2), max(y_1)+1))
    plt.xlabel(x_name)
    plt.ylabel(y_description)
    plt.title(title)
    plt.grid(alpha=0.9)
    plt.savefig('{}\{}.png'.format(path,title))

 我们把以上代码写到影刀的python模块中:

python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第2张图片

 新建一个双折线流程,在这个流程里面调用平台python模块tool中的zexian这个函数,把我们的参数传进取就行:

python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第3张图片

这里因为传进去的数据是要可迭代的,所以在这里加了一个判断:

 python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第4张图片

老样子,小眼睛要点开,然后发版:

python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第5张图片

那就模拟一个数据,来看看这个指令做出来的图片,就“一天中每隔两个小时北京与广州气温变化情况”吧:

python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第6张图片

运行结果: 

python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第7张图片

查看图片:

python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第8张图片

除了这个双折线图,我们还可以做多个图,比如条形图,散点图,饼图等,方法和上面是一致的,这样,我们需要绘制什么图,一拉一拽就可以实现:

python结合影刀开发数据可视化指令——(折线图,散点图... ...)_第9张图片

在影刀里面,除了对实时抓取的数据进行可视化,还可以读取数据库的数据,excel数据,表格数据等...... 

你可能感兴趣的:(信息可视化,python,开发语言,数据可视化,matplotlib)