精华内容
下载资源
问答
  • 以下文章来源于python数据分析之禅 ,作者鸟哥折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的...

    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

    以下文章来源于python数据分析之禅 ,作者鸟哥

    折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。

    9e33c95592ac4d5b951837a140d81183

    下面我给大家介绍一下如何用pyecharts画出各种折线图

    1.基本折线图

    importpyecharts.options as optsfrom pyecharts.charts importLine

    x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

    y=[100,200,300,400,500,400,300]

    line=(

    Line()

    .set_global_opts(

    tooltip_opts=opts.TooltipOpts(is_show=False),

    xaxis_opts=opts.AxisOpts(type_="category"),

    yaxis_opts=opts.AxisOpts(

    type_="value",

    axistick_opts=opts.AxisTickOpts(is_show=True),

    splitline_opts=opts.SplitLineOpts(is_show=True),

    ),

    )

    .add_xaxis(xaxis_data=x)

    .add_yaxis(

    series_name="基本折线图",

    y_axis=y,

    symbol="emptyCircle",

    is_symbol_show=True,

    label_opts=opts.LabelOpts(is_show=False),

    )

    )

    line.render_notebook()

    ece7422f620a4a10b3fe56f94bb0f84f

    series_name:图形名称

    y_axis:数据

    symbol:标记的图形,pyecharts提供的类型包括'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none',也可以通过 'image://url' 设置为图片,其中 URL 为图片的链接。is_symbol_show:是否显示 symbol

    2.连接空数据(折线图)

    有时候我们要分析的数据存在空缺值,需要进行处理才能画出折线图

    importpyecharts.options as optsfrom pyecharts.charts importLine

    x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

    y=[100,200,300,400,None,400,300]

    line=(

    Line()

    .add_xaxis(xaxis_data=x)

    .add_yaxis(

    series_name="连接空数据(折线图)",

    y_axis=y,

    is_connect_nones=True

    )

    .set_global_opts(title_opts=opts.TitleOpts(title="Line-连接空数据"))

    )

    line.render_notebook()

    4acbeb4e162d4c9999e719c744aec8b9

    3.多条折线重叠

    importpyecharts.options as optsfrom pyecharts.charts importLine

    x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

    y1=[100,200,300,400,100,400,300]

    y2=[200,300,200,100,200,300,400]

    line=(

    Line()

    .add_xaxis(xaxis_data=x)

    .add_yaxis(series_name="y1线",y_axis=y1,symbol="arrow",is_symbol_show=True)

    .add_yaxis(series_name="y2线",y_axis=y2)

    .set_global_opts(title_opts=opts.TitleOpts(title="Line-多折线重叠"))

    )

    line.render_notebook()

    f5ab9549b9b64433bc91f0fe268fcefe

    4.平滑曲线折线图

    importpyecharts.options as optsfrom pyecharts.charts importLine

    x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

    y1=[100,200,300,400,100,400,300]

    y2=[200,300,200,100,200,300,400]

    line=(

    Line()

    .add_xaxis(xaxis_data=x)

    .add_yaxis(series_name="y1线",y_axis=y1, is_smooth=True)

    .add_yaxis(series_name="y2线",y_axis=y2, is_smooth=True)

    .set_global_opts(title_opts=opts.TitleOpts(title="Line-多折线重叠"))

    )

    line.render_notebook()

    d52a6f020e8244bfa4815f204b03651e

    is_smooth:平滑曲线标志

    5.阶梯图

    importpyecharts.options as optsfrom pyecharts.charts importLine

    x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

    y1=[100,200,300,400,100,400,300]

    line=(

    Line()

    .add_xaxis(xaxis_data=x)

    .add_yaxis(series_name="y1线",y_axis=y1, is_step=True)

    .set_global_opts(title_opts=opts.TitleOpts(title="Line-阶梯图"))

    )

    line.render_notebook()

    2fc1e51a46b0442cb2f1cbee9cbe5ed0

    is_step:阶梯图参数

    6.变换折线的样式

    importpyecharts.options as optsfrom pyecharts.charts importLinefrom pyecharts.faker importFaker

    x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

    y1=[100,200,300,400,100,400,300]

    line=(

    Line()

    .add_xaxis(xaxis_data=x)

    .add_yaxis("y1",

    y1,

    symbol="triangle",

    symbol_size=30,

    linestyle_opts=opts.LineStyleOpts(color="red", width=4, type_="dashed"),

    itemstyle_opts=opts.ItemStyleOpts(

    border_width=3, border_color="yellow", color="blue"),

    )

    .set_global_opts(title_opts=opts.TitleOpts(title="Line-ItemStyle"))

    )

    line.render_notebook()

    22220851bfef47c480e5b88b1237cd2d

    linestyle_opts:折线样式配置

    color设置颜色,width设置宽度

    type设置类型,有'solid', 'dashed', 'dotted'三种类型

    itemstyle_opts:图元样式配置,border_width设置描边宽度,border_color设置描边颜色,color设置纹理填充颜色

    7.折线面积图

    importpyecharts.options as optsfrom pyecharts.charts importLine

    x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

    y1=[100,200,300,400,100,400,300]

    y2=[200,300,200,100,200,300,400]

    line=(

    Line()

    .add_xaxis(xaxis_data=x)

    .add_yaxis(series_name="y1线",y_axis=y1,areastyle_opts=opts.AreaStyleOpts(opacity=0.5))

    .add_yaxis(series_name="y2线",y_axis=y2,areastyle_opts=opts.AreaStyleOpts(opacity=0.5))

    .set_global_opts(title_opts=opts.TitleOpts(title="Line-多折线重叠"))

    )

    line.render_notebook()

    4b65deb80c714d5a9e069d3c878a2ea0

    8.双横坐标折线图

    importpyecharts.options as optsfrom pyecharts.charts importLinefrom pyecharts.commons.utils importJsCode

    js_formatter= """function (params) {

    console.log(params);

    return '降水量 ' + params.value + (params.seriesData.length ? ':' + params.seriesData[0].data : '');

    }"""line=(

    Line()

    .add_xaxis(

    xaxis_data=["2016-1","2016-2","2016-3","2016-4","2016-5","2016-6","2016-7","2016-8","2016-9","2016-10","2016-11","2016-12",

    ]

    )

    .extend_axis(

    xaxis_data=["2015-1","2015-2","2015-3","2015-4","2015-5","2015-6","2015-7","2015-8","2015-9","2015-10","2015-11","2015-12",

    ],

    xaxis=opts.AxisOpts(

    type_="category",

    axistick_opts=opts.AxisTickOpts(is_align_with_label=True),

    axisline_opts=opts.AxisLineOpts(

    is_on_zero=False, linestyle_opts=opts.LineStyleOpts(color="#6e9ef1")

    ),

    axispointer_opts=opts.AxisPointerOpts(

    is_show=True, label=opts.LabelOpts(formatter=JsCode(js_formatter))

    ),

    ),

    )

    .add_yaxis(

    series_name="2015 降水量",

    is_smooth=True,

    symbol="emptyCircle",

    is_symbol_show=False,

    color="#d14a61",

    y_axis=[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],

    label_opts=opts.LabelOpts(is_show=False),

    linestyle_opts=opts.LineStyleOpts(width=2),

    )

    .add_yaxis(

    series_name="2016 降水量",

    is_smooth=True,

    symbol="emptyCircle",

    is_symbol_show=False,

    color="#6e9ef1",

    y_axis=[3.9, 5.9, 11.1, 18.7, 48.3, 69.2, 231.6, 46.6, 55.4, 18.4, 10.3, 0.7],

    label_opts=opts.LabelOpts(is_show=False),

    linestyle_opts=opts.LineStyleOpts(width=2),

    )

    .set_global_opts(

    legend_opts=opts.LegendOpts(),

    tooltip_opts=opts.TooltipOpts(trigger="none", axis_pointer_type="cross"),

    xaxis_opts=opts.AxisOpts(

    type_="category",

    axistick_opts=opts.AxisTickOpts(is_align_with_label=True),

    axisline_opts=opts.AxisLineOpts(

    is_on_zero=False, linestyle_opts=opts.LineStyleOpts(color="#d14a61")

    ),

    axispointer_opts=opts.AxisPointerOpts(

    is_show=True, label=opts.LabelOpts(formatter=JsCode(js_formatter))

    ),

    ),

    yaxis_opts=opts.AxisOpts(

    type_="value",

    splitline_opts=opts.SplitLineOpts(

    is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)

    ),

    ),

    )

    )

    line.render_notebook()

    b766ac0f7eee44cca8c68ab84230ddb4

    9.用电量随时间变化

    importpyecharts.options as optsfrom pyecharts.charts importLine

    x_data=["00:00","01:15","02:30","03:45","05:00","06:15","07:30","08:45","10:00","11:15","12:30","13:45","15:00","16:15","17:30","18:45","20:00","21:15","22:30","23:45",

    ]

    y_data=[300,280,250,260,270,300,550,500,400,390,380,390,400,500,600,750,800,700,600,400,

    ]

    line=(

    Line()

    .add_xaxis(xaxis_data=x_data)

    .add_yaxis(

    series_name="用电量",

    y_axis=y_data,

    is_smooth=True,

    label_opts=opts.LabelOpts(is_show=False),

    linestyle_opts=opts.LineStyleOpts(width=2),

    )

    .set_global_opts(

    title_opts=opts.TitleOpts(title="一天用电量分布", subtitle="纯属虚构"),

    tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),

    xaxis_opts=opts.AxisOpts(boundary_gap=False),

    yaxis_opts=opts.AxisOpts(

    axislabel_opts=opts.LabelOpts(formatter="{value} W"),

    splitline_opts=opts.SplitLineOpts(is_show=True),

    ),

    visualmap_opts=opts.VisualMapOpts(

    is_piecewise=True,

    dimension=0,

    pieces=[

    {"lte": 6, "color": "green"},

    {"gt": 6, "lte": 8, "color": "red"},

    {"gt": 8, "lte": 14, "color": "yellow"},

    {"gt": 14, "lte": 17, "color": "red"},

    {"gt": 17, "color": "green"},

    ],

    pos_right=0,

    pos_bottom=100),

    )

    .set_series_opts(

    markarea_opts=opts.MarkAreaOpts(

    data=[

    opts.MarkAreaItem(name="早高峰", x=("07:30", "10:00")),

    opts.MarkAreaItem(name="晚高峰", x=("17:30", "21:15")),

    ]

    )

    )

    )

    line.render_notebook()

    52b0114a06324a1895a14d16281c8ad0

    这里给大家介绍几个关键参数:

    ①visualmap_opts:视觉映射配置项,可以将折线分段并设置标签(is_piecewise),将不同段设置颜色(pieces);

    ②markarea_opts:标记区域配置项,data参数可以设置标记区域名称和位置。

    展开全文
  • Python 数据可视化之matplotlib 数据的可视化指的是将数据呈现为漂亮的统计图表,然后进一步发现数据中包含的规律以及隐藏的信息。...Matplotlib就是Python绘图库中的佼佼者,它包含了大量的工具,你可...

                       Python matplotlib折线图的绘制

    数据的可视化指的是将数据呈现为漂亮的统计图表,然后进一步发现数据中包含的规律以及隐藏的信息。数据可视化又与数据挖掘和大数据分析紧密相关,而这些领域以及当下被热议的“深度学习”其最终的目标都是为了实现从过去的数据去对未来的状况进行预测。Matplotlib就是Python绘图库中的佼佼者,它包含了大量的工具,你可以使用这些工具创建各种图形(包括散点图、折线图、直方图、饼图、雷达图等)。当然,也可以利用matplotlib以及numpy,pandas三剑客构建出系统运维监控平台。对股市,气象等等数据深度学习,从而科学预测股市的趋势,气象的变化等等。

    首先,学习下简单的折线图绘制,matplotlib一般分为容器层,辅助显示层,显示层,一般按层级编写,一定可以清晰的绘制出需要的图像。下面,上代码:

    import matplotlib.pyplot as plt
    def main():
        x_values=[x for x in range(1,20)]
        y_values=[x**2 for x in range(1,20)]
        plt.figure(figsize=(20,8),dpi=80)
    #这是容器层,可以指定所绘图的大小,以及清晰度
    #也可以省略,一般建议写上,毕竟默认的总是太简陋
        plt.title('square numbers')
        plt.xlabel('value',fontsize=18)
        plt.ylabel('square',fontsize=18)
        plt.tick_params(labelsize=20)
        plt.plot(x_values,y_values,color='red')
        plt.savefig('111.png')
    #如果需要保存所绘图,必须写在show()方法前,否则保存的是空白图像,名称和路径可以任意指定
        plt.show()
    if __name__ == '__main__':
        main()

     

    展开全文
  • 测试开发技术——python折线图生成前言关于分享立竿见影的使用体验python图表生成技术对比循序渐进的查看过程逐步深入到设计过程 前言 测试开发技术中,数据处理技术在我们大量的测试数据,测试结果自动化生成,自动...

    前言

    测试开发技术中,数据处理技术在我们大量的测试数据,测试结果自动化生成,自动化报告等情况是非常常见的,常见的线上手段是生成为指定格式的json,sql等,通过结果给到后端,作为平台测试结果,测试数据展示。而本地的情况,更多的是通过csv或者excel等来保存,这里就分享一个python快速生成excel折线图的方法

    关于分享

    我是一个热衷分享的人,之前在网上查看python 生成 excel的图表,包括折线图,柱状图等等,看到网上能搜索到的文章都不实用,我觉得学习的路径应该是这样的:

    1. 立竿见影的使用体验(工程拿来就可以简单的使用起来,立刻看到效果)
    2. 循序渐进的查看过程(代码分析,查看文档适当解释)
    3. 逐步深入到设计过程(查看官方文档跟自己调试,进一步深入跟熟悉使用)

    所以本文会由这样的顺序展开,希望可以帮助到大家

    立竿见影的使用体验

    代码仓:https://gitee.com/liciciyi/AlanTest
    调用代码:

    from charthelper.LineChartHelper import LineChartHelper
    
    line_chart = LineChartHelper('../resource/alan0819.xlsx')
    line_chart.add_linechart(chart_area="B1:D7", chart_categories=1,chart_title='日期图')
    

    使用效果:

    python图表生成技术对比

    这里只分享几个老牌的库对比

    xlwings:
    可结合 VBA 实现对 Excel 编程,强大的数据输入分析能力,同时拥有丰富的接口,结合 pandas/numpy/matplotlib 轻松应对 Excel 数据处理工作。

    openpyxl
    简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点,缺点是对 VBA 支持的不够好。

    pandas:
    数据处理是 pandas 的立身之本,Excel 作为 pandas 输入/输出数据的容器。

    xlsxwriter:
    拥有丰富的特性,支持图片/表格/图表/筛选/格式/公式等,功能与openpyxl相似,优点是相比 openpyxl 还支持 VBA 文件导入,迷你图等功能,缺点是不能打开/修改已有文件,意味着使用 xlsxwriter 需要从零开始。

    数据处理中,我个人是推荐openpyxl + pandas ,核心是pandas,这个数据处理在python中是非常非常常用的一个库,numpy + pandas + Pillow + matplotlib这个组合在机器学习,数据挖掘等领域都是非常实用的。不推荐xlswriter是因为,对比openpyxl,xlswriter只能新建文件的时候插入图片,对于依存数据的excel,无法插入图片。

    循序渐进的查看过程

    比较核心的使用主要有以下几个部分

    chart = LineChart()
    chart.style
    chart.title = chart_title if chart_title is not None else "LineChart"
    chart.y_axis.title = y_lable if y_lable is not None else "y轴"
    chart.x_axis.title = x_lable if x_lable is not None else "x轴"
    # 处理图表区数据
    '''
    area 为如下图所示表格
    B1 | B2 | B3
    ------------
    40 | 30 | 25
    40 | 25 | 30
    '''
    (start, end) = chart_area.split(':') # A1:D7
    start_row = int(start[1])
    end_row = int(end[1])
    start_col = ord(start[0]) - ord('A') + 1
    end_col = ord(end[0]) - ord('A') + 1
    ChartValues = Reference(ws, min_col=start_col, min_row=start_row, max_col=end_col,
    max_row=end_row)
    chart.add_data(ChartValues,titles_from_data=True)
    # 处理横轴数据
    if chart_categories is not None:
        categories = Reference(ws, min_col=chart_categories, min_row=start_row+1, max_row=end_row)
        chart.set_categories(categories)
    if chart_position is None:
        chart_position = 'A' + str(end_row + 2)
        logger.info("chart position is not given, now save the chart in {0}".format(chart_position))
    

    逐步深入到设计过程

    https://www.osgeo.cn/openpyxl/charts/bar.html

    展开全文
  • Matplotlib的官网地址:http://matplotlib.org/在使用Python数据处理的时,大量数据我们看起来并不是很直观,有时候把它图形化显示反而更能容易的观察数据的变化特征等等。Matplotlib是一个Python的2D绘图库,它...

    Matplotlib的官网地址:http://matplotlib.org/

    在使用Python做数据处理的时,大量的数据我们看起来并不是很直观,有时候把它图形化显示反而更能容易的观察数据的变化特征等等。

    Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。它提供了一整套和MATLAB相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

    下面看一个例子,来源为51CTO唐宇迪老师的Matplotlib视频课程。
    数据为美国统计的未就业人口占比:
    这里写图片描述

    import pandas as pd # 导入pandas库用来处理csv文件
    import matplotlib.pyplot as plt # 导入matplotlib.pyplot并用plt简称
    
    unrate = pd.read_csv('unrate.csv') # 读csv文件
    unrate['DATE'] = pd.to_datetime(unrate['DATE']) 
    # 通过pd.to_datetime函数将unrate.csv文件中'DATE'属性数据的strin数据类型转换为time类型
    print(unrate.head(12)) # 打印查看前12行数据
    
    first_twelve = unrate[0:12] # 取前12行数据
    
    plt.plot(first_twelve['DATE'], first_twelve['VALUE']) # 画折线图,'DATE'列作为x轴,'VALUE'列作为y轴。只是这里用了csv文件里的两列分别作为x和y,实际应用中,只要指定好数据x和对应y就行。
    
    plt.xticks(rotation=30) # 有时候x轴标签比较长,就会重叠在一起,这里旋转一定角度就能更方便显示,如下图
    plt.xlabel('Month') # 给x轴数据加上名称
    plt.ylabel('Unemployment Rate') # 给y轴数据加上名称
    plt.title('Monthly Unemployment Trends, 1948') # 给整个图表加上标题
    
    plt.show() # 将刚画的图显示出来

    这里写图片描述

    这里写图片描述

    展开全文
  • 数据分析 为什么要学习数据分析 ...概念:数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。 流程 提出问题 准备数据 分析数据 获得结论 成果可视化 ...
  • python数据分析

    2020-09-16 23:57:56
    数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。 流程 matplotlib可视化工具简介matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿...
  • 有很多小伙伴想学习python,但windows写python基本是坑,deepin属于linux分支,界面美观,内置大量桌面软件,对新手十分友好,这里尝试在深度系统(deepin)内安装python开发工具 jupyter,并完成一个绘制折线图的入门案例 ...
  • 第六章Python数据可视化

    千次阅读 2019-07-19 18:50:51
    前言 文不如字,字不如表,表不如图”,说的就是可视化的重要...本章内容的重点就是利用Python绘制常见的统计图形,例如条形图、饼图、直方图、折线图、散点图等,通过这些常用图形的展现,将复杂的数据简单化。这些...
  • 前面写了大量的文章是关于数据的可视化,通过每一个具体的案例介绍了有关matplotlib模块、pandas模块和seaborn模块的绘图函数和参数含义,分别针对离散型数据、数值型数据和关系型数据讲解了最为常用的可视化图形,...
  • matplotlib一般用于将数据进行可视化展示,通过它绘制折线图、散点图、条形图、直方图等。numpy常用于处理数值型数据。pandas常用于处理字典、数值数组、字符串与列表等。利用这些模块下提供的数据分析函数比用常规...
  • 项目2:数据可视化之下载数据 摘要 这个章节主要讲怎样去下载和...这章主要做数据处理和简单分析,简单介绍下,csv数据下载后获取范围值以日期绘制折线图可观察两条线之间波动范围大小。json大量数据分析走势,...
  • 该项目允许使用JavaScript,Python和D3在各种数据可视化上显示数据,例如地图,条形图,折线图,饼图等。 使用从MongoDB Atlas中记录的给定API不断更新数据来生成统计信息和实时图形。 GET和POST请求将用于从数据库...
  • 本文目录前言折线图 前言 现在最火的语言莫过于Python语言,它能用简短的代码实现其他语言非常复杂的功能,比如说博主介绍过的pandas库,而今天介绍的matplotlib库能和pandas库结合起来,让数据更加的直观,易懂。 ...
  • 直方图的特点:上篇文章我完成了对条形图和折线图的整理 link 条形图这类图像是以矩形的长度表示每一组的频数或数量,其宽度(表示类别)则是固定的,利于较小的数据集分析 直方图是以矩形的长度表示每一组的频数或...
  • 数据分析matplotlib

    2019-03-19 19:39:42
    数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动 数据分析的流程 . 二.matplotlib介绍及使用 2.1 matplotlib介绍 可以更好的将数据可视化,更直观的呈现,能使数据更具有...
  • 数据分析概念 数据分析是用适当的方法对收集来地大量数据进行分析,帮助人们做出判断,以便采取适当行动。 数据分析的流程: 绘图工具matplotlib ...例子:绘制一天24小时的气温折线图 from matplotlib...
  • 但是看行行列列的数字总不如直接看曲线图、散点图、折线图、图片等图像来的直观。Matplotlib是一个使用NumPy数据生成高质量图像的Python包,其包含的内容非常丰富。它提供了和世界上工程与科学领域非常流行的商业...
  • 毕业设计之 --- 爬虫

    2020-10-16 14:06:51
    简介 爬虫常用与毕业设计的数据收集阶段, 多同学要求和反应, 让学长出一片讲解爬虫的文章...比如matplotlib库,是一个仿照matalab的强大的绘图库,用它可以将爬下来的数据画出饼图、折线图、散点图等等,甚至是3D图来直
  • 支持历史执行任务信息的折线图查看 具体到某天的总运行次数,总失败次数,总成功次数,总任务数,总失败任务数,总成功任务数 支持关注自己的任务,自动调度执行失败时会向负责人发送邮件 对外提供API,开放系统任务...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

python大量数据折线图

python 订阅