(2.7)--7.数据可视化概述Python程序设计基础.pdf
《(2.7)--7.数据可视化概述Python程序设计基础.pdf》由会员分享,可在线阅读,更多相关《(2.7)--7.数据可视化概述Python程序设计基础.pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据可视化概述一、数据可视化数据可视化是科学和艺术的结合,主要目的是通过图形的方法清楚地、有效地表达和传递信息,其次可以发现数据背后的价值,激励使用者参与和注意,同时支持分析,揭示比较信息和因果信息。数据可视化可以使复杂的数据关系变得容易理解,能够快速理清逻辑,抓住重点,发现更多数据中隐藏的价值,同时能够从更多角度和层次分析数据。数据可视化流程的基本步骤包括“确定分析目标收集数据数据处理数据分析可视化呈现结论建议”。可以将数据可视化基本流程中的主要内容分成三大部分:采集、处理和分析,其中最重要的是分析部分。数据可视化主要通过编程和非编程两类工具实现。主流编程工具包括三种类型:从艺术角度创作的数
2、据可视化,比较典型的工具如 Processing;从统计和数据处理角度,既可以做数据分析,又可以做图形处理,如 R,SAS;介于两者之间的工具,既要兼顾数据处理,又要兼顾展现效果,如 D3.js、Echarts.js。Python 有多个数据可视化库,可分为探索式可视化库和交互式可视化库。探索式可视化库,最大的优势在于不受数据模型的限制,通过探索式分析和可视化,快速发现数据中存在的特点。Python 探索式可视化库主要包括 matplotlib、seaborn、pyecharts 等。交互式可视化库,可以用交互的方式深入图表和图形的具体细节,呈现出不同的数据,Python 交互式可视化库主要包
3、括 bokeh、holoViews、plotly、pygal、ggplot、plotnine 等。二、matplotlib 数据可视化1.matplotlib 安装和导入matplotlib 是 Python 数据可视化的基础,熟练运用 matplotlib 是数据可视化工程师的必备技能。安装 matplotlib:步骤一:打开 cmd 命令窗口,在提示符下查看当前 Python 环境中是否安装matplotlib 库:C:UsersAdministratorpython m pip list步骤二:如果输出结果中包含有 matplotlib,则说明已安装,否则需要利用pip 工具进行安装,安
4、装命令为:C:UsersAdministratorpip install matplotlib导入 matplotlib:绘制图表前需要首先导入 matplotlib 库,执行语句如下:import matplotlib.pyplot as plt一般情况下,在绘图之前需要设置中文显示,负号显示,执行语句如下:#使图表中能够正常显示中文plt.rcParamsfont.sans-serif=SimHei#使图表中能够正常显示负号plt.rcParamsaxes.unicode_minus=False2.图表创建(1)导入数据利用列表构造 x_data、y_data 数据,示例代码如下:x_da
5、ta=2011,2012,2013,2014,2015,2016,2017y_data=58000,60200,63000,71000,84000,90500,107000(2)绘制图表将 x_data 作为 x 轴数据,y_data 作为 y 轴数据,绘制折线图,示例代码如下:plt.plot(x_data,y_data)#绘制折线图plt.show()#显示绘制的图表运行结果如图 1 所示:图 1 绘制折线图(3)增加图表基本修饰添加标题、图例、坐标轴标签和对应的数字注释等内容,示例代码如下:plt.plot(x_data,y_data,label=收入额,marker=o)plt.tit
6、le(逐年收入变化曲线)plt.xlabel(年份)plt.ylabel(收入额(万元))for a,b in zip(x_data,y_data):plt.text(a,b,b,ha=center,va=bottom)plt.grid()plt.legend()plt.savefig(salesbak.png,dpi=1200)plt.show()运行结果如图 2 所示:图 2 图表修饰3.常用图表修饰(1)标题title()方法用于设置图表标题,语法如下:matplotlib.pyplot.title(label,fontdict=None,loc=None,pad=None,*kwarg
7、s)其中,参数 label 用来设置待显示的标题,示例代码如下:import matplotlib.pyplot as pltplt.rcParamsfont.sans-serif=SimHeiplt.title(逐年收入变化曲线)plt.show()参数 fontdict 用来设置字体属性的字典型参数,如表 1 所示。表 1 字典型参数 fontdict 的可选设置内容示例代码如下:newFontStyle=family:serif,style:italic,weight:normalplt.title(This is a figure!,fontdict=newFontStyle)plt.
8、show()参数 loc 用于指定标题所在的位置,可选位置为“center”,“left”和“right”,默认为“center”。参数 pad 用于指定标题相对于图表框的距离,以磅为单位。(2)坐标轴标签xlabel()和 ylabel()方法分别用来设置 x 轴和 y 轴的标签,语法如下:matplotlib.pyplot.xlabel(xlabel,fontdict=None,labelpad=None,*kwargs)matplotlib.pyplot.ylabel(ylabel,fontdict=None,labelpad=None,*kwargs)参数 xlabel 和 ylabe
9、l 分别用来设置标签的名称,若希望设置标签的颜色、字体、距轴边界的间距等,可在调用该方法时指定 fontdict、labelpad 等。(3)坐标轴刻度xticks()和 yticks()方法分别用来设置 x 轴和 y 轴的刻度,语法如下:matplotlib.pyplot.xticks(ticks=None,labels=None,*kwargs)matplotlib.pyplot.yticks(ticks=None,labels=None,*kwargs)参数 ticks 用于指定坐标轴的刻度位置,labels 用于指定对应位置上的标签,ticks 和 labels 都应该是一个数组,且数
10、组的长度应保持一致,示例代码如下:plt.xticks(0,1,2,一月,二月,三月)plt.show()xlim()和 ylim()方法分别用来指定 x 轴和 y 轴的刻度范围,语法如下:matplotlib.pyplot.xlim(*args,*kwargs)matplotlib.pyplot.ylim(*args,*kwargs)通过一个元组指定刻度的下限和上线,示例代码如下:left=20right=50plt.xlim(left,right)plt.show()tick_params()方法用于设置/更改刻度线、刻度标签和网格线的外观,语法如下:matplotlib.pyplot.t
11、ick_params(axis=both,*kwargs)字典型参数 kwargs 包含多种选择,具体如表 2 所示。表 2 字典型参数 kwargs 的可选设置内容(4)图例legend()方法用于向图表中添加图例,语法如下:matplotlib.pyplot.legend(*args,*kwargs)示例代码如下:x=400y=600plt.plot(x,y,label=预计销售额)plt.legend()plt.show()legend()方法中最为重要的参数就是 loc,参数 loc 用于控制图例在图表中的位置,默认为最佳位置,可选值如表 3 所示。表 3 loc 参数的可选设置内容(
12、5)线条和标记折线图中的线条和标记是在 plt.plot()中用相关参数来设置的,常用参数如表4 所示。颜色 color 参数,可以设置表 5 所示 8 种颜色。还可用 16 进制字符串、RGB 或 RGBA 元组来指定颜色,如红色表示为“#FF0000”,绿色表示为“#00FF00”,蓝色表示为“#0000FF”等。线型 linestyle 参数,共有四种选择:“-”或“solid”表示实线,“-”或“dashed”表示双划线,“:”或“dotted”表示虚线,“:.”或“dash-dot”表示点画线。参数 linewidth 用于设置线宽,以磅为单位。表 4 参数设置内容表 5 常用颜色标
13、记参数 marker,常用设置如表 6 所示。参数 markersize 用于设置标记大小,以点(point)为单位。参数 alpha 用于设置透明度,在 0-1 之间取值,默认值 1表示不透明,值越小,透明度越高。表 6 标记 marker 的可选设置内容(6)网格线grid()方法用于在图表中网格线的输出或关闭,语法如下:matplotlib.pyplot.grid(b=None,which=major,axis=both,*kwargs)参数 b 用于控制网格线的输出,True 表示输出网格线,False 表示关闭网格线。在 b 参数缺失的情况下,调用 grid()会切换网格线的可见性。
14、参数 which 用于指定待设置/更改的网格线,可选值为major,minor和both,分别对应主要、次要和所有网格线。参数 axis 用于指定待设置/更改的轴,可选值为x、y和both,分别对应 x轴、y 轴和所有轴。参数 kwargs 用于设置/更改网格线的颜色、线性、线宽、透明度等属性,具体可参考 matplotlib 发行文档。(7)注释matplotlib 对图表内容的注释有两种,即无指向型注释和指向型注释,分别利用 text()和 annotate()方法实现。1)无指向型注释设置语法如下:matplotlib.pyplot.text(x,y,s,fontdict=None,wi
15、thdash=False,*kwargs)其中,参数 x 和 y 用于指定注释文本的位置,参数 s 是具体的注释文本内容,fontdict 用于设置注释文本的文字属性。示例代码如下:plt.text(x,y,这是一段注释,fontsize=12,ha=center)2)指向型注释指向型注释除注释文本之外还需要一个箭头指向注释的目标,相对于无指向型注释多了箭头的信息,如箭头所指向的位置,箭头的样式和形状等。设置语法如下:matplotlib.pyplot.annotate(s,xy,xytext,xycoords,textcoords,ha,va,arrowprops,*kwargs)程序代码如
16、下:import matplotlib.pyplot as pltx=2011,2012,2013,2014,2015,2016,2017y=58000,60200,63000,71000,84000,90500,107000plt.rcParamsfont.sans-serif=SimHeiplt.plot(x,y,label=收入额,marker=o,markersize=4,alpha=0.6,color=g)#图表修饰plt.title(逐年收入变化曲线,fontsize=12,color=r,fontstyle=oblique,weight=bold,pad=10)plt.xlabe
17、l(年份)plt.ylabel(收入额(万元))for a,b in zip(x,y):plt.text(a,b,b,ha=center,va=bottom)plt.grid(linewidth=0.5,color=#FA6956,alpha=0.4)plt.legend()plt.annotate(收 入 最 好 的 年 份,xy=(6,y6),xytext=(2,90000),arrowprops=dict(arrowstyle=-,connectionstyle=arc3),bbox=dict(boxstyle=sawtooth,fc=w,ec=k)plt.savefig(pic3.pn
18、g,dpi=1200)plt.show()代码运行结果如图 5 所示。图 5 图标注释修饰结果图三、绘制常用图表1.绘制柱形图(1)垂直柱形图绘制柱形图使用 plt.bar()方法,与折线图相比其参数稍有变化,增加了柱形的宽度 width 等属性,其他其他参数设置不变。程序代码 如下:import matplotlib.pyplot as pltx=2011,2012,2013,2014,2015,2016,2017y=58000,60200,63000,71000,84000,90500,107000plt.rcParamsfont.sans-serif=SimHeiplt.bar(x,y,
19、label=收入额)plt.title(逐年收入变化)plt.xlabel(年份)plt.ylabel(收入额(万元))for a,b in zip(x,y):plt.text(a,b,b,ha=center,va=bottom)plt.grid()plt.legend()plt.savefig(pic4.png,dpi=1200)plt.show()代码运行结果如图 6 所示。图 6 垂直柱形图bar()方法语法如下:matplotlib.pyplot.bar(x,height,width=0.8,bottom=None,*,align=center,data=None,*kwargs)其中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2.7 数据 可视化 概述 Python 程序设计 基础
限制150内