网站建设安全问题,网站切图怎么切,中国开源网,wordpress前台显示英文一图胜千言#xff0c;将信息可视化#xff08;绘图#xff09;是数据分析中最重要的工作之一。它除了让人们对数据更加直观以外#xff0c;还可以帮助我们找出异常值、必要的数据转换、得出有关模型的想法等等。pandas 在数据分析、数据可视化方面有着较为广泛的应用。本文…一图胜千言将信息可视化绘图是数据分析中最重要的工作之一。它除了让人们对数据更加直观以外还可以帮助我们找出异常值、必要的数据转换、得出有关模型的想法等等。pandas 在数据分析、数据可视化方面有着较为广泛的应用。本文将通过实例介绍pandas的数据绘图。
pandas的数据可视化依赖于matplotlib模块的pyplot类matplotlib在安装Pandas会自动安装。Matplotlib可以对图形做细节控制绘制出出版质量级别的图形通过Matplotlib可以简单地绘制出常用的统计图形。pandas 对 Matplotlib 绘图软件包的基础上单独封装了一个plot()接口通过调用该接口可以实现常用的绘图操作。 让我们先来认识mataplotlib图形的基本构成。
一、matplotlib图形基本构成
1234import matplotlib.pyplot as pltimport numpy as npdatanp.arange(10)plt.plot(data) 通过引入matplotlib模块的pyplot类将数据传入plot()的接口就可以将数据以图形化的方式展示出来。Matplotlib 生成的图形主要由以下几个部分构成 Figure指整个图形您可以把它理解成一张画布它包括了所有的元素比如标题、轴线等 Axes绘制 2D图像的实际区域也称为轴域区或者绘图区 Axis指坐标系中的垂直轴与水平轴包含轴的长度大小图中轴长为 7、轴标签指 x轴y轴和刻度标签 Artist在画布上看到的所有元素都属于 Artist对象比如文本对象title、xlabel、ylabel、Line2D 对象用于绘制2D图像等。
了解matplotlib图形的基本构成非常重要绘图就是通过matplotlib提供的方法来定义和设置这些基本图形的构成元素来将数据显示在这些元素中。
二、matplotlib显示中文
Matplotlib 默认不支持中文字体这因为 Matplotlib 只支持 ASCII 字符但中文标注更加符合中国人的阅读习惯。下面介绍如何在 Windows 环境下让 Matplotlib 显示中文。
1、方法一临时重写配置文件临时
通过临时重写配置文件的方法可以解决 Matplotlib 显示中文乱码的问题代码如下所示
123import matplotlib.pyplot as pltplt.rcParams[font.sans-serif][SimHei] #设置字体plt.rcParams[axes.unicode_minus]False #该语句解决图像中的“-”负号的乱码问题
2、方法二修改配置文件 永久
通过直接修改配置文件的方法可以一劳永逸的解决 Matplotlib 的中文乱码问题。注意此过程在 Windows 环境下进行。 Matplotlib 从配置文件 matplotlibrc 中读取相关配置信息比如字体、样式等因此我们需要对该配置文件进行更改。使用如下代码查看 matplotlibrc 所在的目录
12import matplotlibmatplotlib.matplotlib_fname() 打开配置文件后找到以下信息 #font.family: sans-serif #font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif 修改配置将#注释去掉并将微软雅黑Microsoft YaHei的字体给加上。 最后在windows的字体目录中复制中文字体微软雅黑 C:\Windows\Fonts\Microsoft YaHei UI 将微软雅黑的字体复制粘贴到matplotlib的字体库中字体库路径就在matplotlibrc 所在的目录下 D:\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf 如果是jupyter notbook重启启动jupyter notbook让它重新读取配置文件即可。
三、pandas绘图
数据分析将数据进行可视化绘图展示离不开数据pandas的两大数据结构Series和DataFrame都提供了相应的方法很方便的进行数据的可视化绘图展示。
1、数据
pandas 提供了 plot() 方法可以快速方便地将 Series 和 DataFrame 中的数据进行可视化。
a) Series
Series 使用 plot 时 x 轴为索引y 轴为索引对应的具体值
12345import numpy as npimport pandas as pdseries_datapd.Series(np.random.randn(10),indexrange(10))series_dataseries_data.plot() b) DataFrame
DataFrame 使用 plot 时 x 轴为索引y 轴为索引对应的多个具体值
123df_staff pd.read_excel(D:\\Python\\study\\pythontest\\pandastest\\数据集\\staff_sale_byQ.xlsx)df_staffdf_staff.plot() plot()可以通过传入x和y指定显示具体的列数据
12#指定X轴及y显示的列数据df_staff.plot(x季度,y[张三,李四]) 2、图形
plot 默认为折线图折线图也是最常用和最基础的可视化图形足以满足我们日常 80% 的需求。 除了使用默认的线条绘图外还可以使用其他绘图方式如下所示 柱状图bar() 或 barh() 箱形图box() 区域图area() 饼状图pie() 散点图scatter() 直方图hist()
a) 柱状图
柱状图bar chart使用与轴垂直的柱子通过柱形的高低来表达数据的多少适用于数据的对比在整体中也能看到数据的发展变化趋势。 DataFrame 可以直接调用 plot.bar() 生成折线图与折线图类似x 轴为索引其他数字类型的列为 y 轴上的条形可以设置参数stackedTrue生成柱状堆叠图 df.plot.bar() df.plot.barh() # 横向 df[:5].plot.bar(x’name’, y’Q4’) # 指定xy轴 df[:5].plot.bar(‘name’, [‘Q1’, ‘Q2’]) # 指定xy轴
123456#柱状图df_staff.plot.bar(x季度,y[张三,李四,王五]) #柱状图可以设置参数stackedTrue生成柱状堆叠图df_staff.plot.bar(x季度,y[张三,李四,王五],stackedTrue) #通过barh()方法可以绘制水平柱状图df_staff.plot.barh(x季度,y[张三,李四,王五],stackedTrue) b) 箱形图
箱形图Box Chart又称盒须图、盒式图或箱线图是一种用作显示一组数据分布情况的统计图。Series.plot.box() 、 DataFrame.plot.box(), 和 DataFrame.boxplot() 都可以绘制箱形图。 从箱形图中我们可以观察到 一组数据的关键值中位数、最大值、最小值等。 数据集中是否存在异常值以及异常值的具体数值。 数据是否是对称的。 这组数据的分布是否密集、集中。 数据是否扭曲即是否有偏向性。
1df_staff.plot.box(x季度,y[张三,李四,王五]) c) 区域图
区域图Area Chart又叫面积图。将折线图中折线与自变量坐标轴之间的区域使用颜色或者纹理填充这样一个填充区域叫做面积颜色的填充可以更好的突出趋势信息需要注意的是颜色要带有一定的透明度透明度可以很好的帮助使用者观察不同序列之间的重叠关系没有透明度的面积会导致不同序列之间相互遮盖减少可以被观察到的信息。 面积图默认情况下是堆叠的。要生成堆积面积图每列必须全部为正值或全部为负值。
1df_staff.plot.area(x季度,y[张三,李四,王五]) d) 饼状图
饼图Pie Chart广泛得应用在各个领域用于表示不同分类的占比情况通过弧度大小来对比各种分类。饼图通过将一个圆饼按照分类的占比划分成多个区块整个圆饼代表数据的总量每个区块圆弧表示该分类占总体的比例大小所有区块圆弧的加和等于 100%。 可以使用 DataFrame.plot.pie() 或 Series.plot.pie() 创建饼图
1234567df_staff#看张三每个季度的业绩分布df_staff.plot.pie(y张三,subplotsTrue)#看第一个季度每个人的绩效分布df_staff1df_staff.loc[0:0,张三:孙八].Tdf_staff1.columns[Q]df_staff1.plot.pie(yQ,subplotsTrue) e) 散点图
散点图Scatter graph也叫 X-Y 图它将所有的数据以点的形式展现在直角坐标系上以显示变量之间的相互影响程度点的位置由变量的数值决定。 通过观察散点图上数据点的分布情况我们可以推断出变量间的相关性。如果变量之间不存在相互关系那么在散点图上就会表现为随机分布的离散的点如果存在某种相关性那么大部分的数据点就会相对密集并以某种趋势呈现。
12df1 pd.DataFrame(np.random.rand(50, 4), columns[a, b, c, d])df1.plot.scatter(xa, yb); f) 直方图
直方图(Histogram)又称质量分布图是一种统计报告图它是根据具体数据的分布情况画成以组距为底边、以频数为高度的一系列连接起来的直方型矩形图。
1234567891011#构建数据集df4pd.DataFrame({ a: np.random.randn(1000) 1, b: np.random.randn(1000), c: np.random.randn(1000) - 1, d: np.random.randn(1000) - 2, },columns[a,b,c,d])df4df4.plot.hist(alpha0.5) #指定图形透明度df4.plot.hist(stackedTrue,bins20) #堆叠并指定箱数为20df4.diff().hist() #通过diff给每一列数据都绘制一个直方图 至此本文介绍了pandas常用的绘图组件matplotlib包括mataplotlib绘图的基本构成如何在windows下解决中文问题并通过实例介绍了如何通过pandas的数据集绘制折线图、箱线图、柱状图、饼图、面积图、散点图、直方图等。
参考资料《利用python进行数据分析》、pandas官网 user guide ---------------------------END--------------------------- 题外话
当下这个大数据时代不掌握一门编程语言怎么跟的上脚本呢当下最火的编程语言Python前景一片光明如果你也想跟上时代提升自己那么请看一下. 感兴趣的小伙伴赠送全套Python学习资料包含面试题、简历资料等具体看下方。
CSDN大礼包全网最全《Python学习资料》免费赠送安全链接放心点击 一、Python所有方向的学习路线
Python所有方向的技术点做的整理形成各个领域的知识点汇总它的用处就在于你可以按照下面的知识点去找对应的学习资源保证自己学得较为全面。 二、Python必备开发工具
工具都帮大家整理好了安装就可直接上手
三、最新Python学习笔记
当我学到一定基础有自己的理解能力的时候会去阅读一些前辈整理的书籍或者手写的笔记资料这些笔记详细记载了他们对一些技术点的理解这些理解是比较独到可以学到不一样的思路。 四、Python视频合集
观看全面零基础学习视频看视频学习是最快捷也是最有效果的方式跟着视频中老师的思路从基础到深入还是很容易入门的。 五、实战案例
纸上得来终觉浅要学会跟着视频一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。
六、面试宝典 简历模板