学Python matplotlib(面积图)_光环大数据python培训

合集下载

学Python matplotlib(树地图)_光环大数据python培训

学Python matplotlib(树地图)_光环大数据python培训

学Python matplotlib(树地图)_光环大数据python培训用可视化的方法来表达离散变量的数值情况,不仅仅可以使用条形图、饼图、热力图,我们还可以借助于树地图来完成。

树地图的思想就是通过方块的面积来表示,面积越大,其代表的值就越大,反之亦然。

今天要跟大家分享的就是如何通过Ptyhon这个工具,完成树地图的绘制。

函数语法及参数在Python中,可以借助于squarify包来绘制,即squarify.plot函数。

首先,我们来看一下这个函数的语法及参数含义:squarify.plot(sizes, norm_x=100, norm_y=100, color=None, label=None, value=None, alpha, **kwargs)sizes:指定离散变量各水平对应的数值,即反映树地图子块的面积大小;norm_x:默认将x轴的范围限定在0-100之内;norm_y:默认将y轴的范围限定在0-100之内;color:自定义设置树地图子块的填充色;label:为每个子块指定标签;value:为每个子块添加数值大小的标签;alpha:设置填充色的透明度;**kwargs:关键字参数,与条形图的关键字参数类似,如设置边框色、边框粗细等;介绍完了绘图所需要的函数,先来抛一个树地图的效果图,该图反映的是2017年8月中央财政收入的主要来源情况:树地图的绘制图中的数据来自《中华人民共和国财政部》官网,具体可以从2017年8月财政收支情况(/zhengfuxinxi/tongjishuju/201709/t20170911_2695830.html)查看。

# 导入第三方包import matplotlib.pyplot as pltimport squarify#中文及负号处理办法plt.rcParams['font.sans-serif'] = 'MicrosoftYaHei'plt.rcParams['axes.unicode_minus'] = False# 创建数据name = ['国内增值税','国内消费税','企业所得税','个人所得税', '进口增值税、消费税','出口退税','城市维护建设税', '车辆购置税','印花税','资源税','土地和房税','车船税烟叶税等']income = [3908,856,801,868,1361,1042,320,291,175,111,414,63] # 绘图colors = ['steelblue','#9999ff','red','indianred', 'green','yellow','orange'] plot = squarify.plot(sizes = income,# 指定绘图数据label = name, # 指定标签color = colors, # 指定自定义颜色 alpha = 0.6, # 指定透明度value = income, # 添加数值标签edgecolor = 'white', # 设置边界框为白色 linewidth =3 # 设置边框宽度为 3 ) # 设置标签大小plt.rc('font', size=8)# 设置标题大小plot.set_title('2017年8月中央财政收支情况',fontdict = {'fontsize':15})# 去除坐标轴plt.axis('off')# 去除上边框和右边框刻度plt.tick_params(top = 'off', right = 'off')# 显示图形plt.show()通过上面的这些绘图语句和美化语句,就可以得到一个形象不错的树地图了。

学Python matplotlib 散点图 _光环大数据python培训

学Python matplotlib 散点图 _光环大数据python培训

学Python matplotlib(散点图)_光环大数据python培训在绘制散点图之前,我们任然老规矩,先来介绍一下matplotlib包中的scatter函数用法及参数含义。

scatter函数的参数解读matplotlib模块中scatter函数语法及参数含义:plt.scatter(x, y, s= 20, c= None, marker= ‘o’, cmap= None, norm= None, vmin= None, vmax= None, alpha= None, linewidths= None, edgecolors= None)x:指定散点图的x轴数据;y:指定散点图的y轴数据;s:指定散点图点的大小,默认为20,通过传入新的变量,实现气泡图的绘制;c:指定散点图点的颜色,默认为蓝色;marker:指定散点图点的形状,默认为圆形;cmap:指定色图,只有当c参数是一个浮点型的数组的时候才起作用;norm:设置数据亮度,标准化到0~1之间,使用该参数仍需要c为浮点型的数组;vmin、vmax:亮度设置,与norm类似,如果使用了norm则该参数无效;alpha:设置散点的透明度;linewidths:设置散点边界线的宽度;edgecolors:设置散点边界线的颜色;一般散点图的绘制案例:汽车速度与刹车距离的关系# 导入模块importpandas aspdimportmatplotlib.pyplot asplt# 设置绘图风格e( ‘ggplot’)# 设置中文编码和负号的正常显示plt.rcParams[ ‘font.sans-serif’] = ‘Microsoft YaHei’plt.rcParams[ ‘axes.unicode_minus’] = False# 读入数据cars = pd.read_csv( ‘cars.csv’)# 绘图plt.scatter(cars.speed, # x轴数据为汽车速度cars.dist, # y轴数据为汽车的刹车距离s = 30, # 设置点的大小 c = ‘steelblue’, # 设置点的颜色marker = ‘s’, # 设置点的形状alpha = 0.9, # 设置点的透明度linewidths = 0.3, # 设置散点边界的粗细edgecolors = ‘red’# 设置散点边界的颜色)# 添加轴标签和标题plt.title( ‘汽车速度与刹车距离的关系’)plt.xlabel( ‘汽车速度’)plt.ylabel( ‘刹车距离’)# 去除图边框的顶部刻度和右边刻度plt.tick_params(top = ‘off’, right = ‘off’)# 显示图形plt.show()这样一张简单的散点图就呈现出来了,很明显的发现,汽车的刹车速度与刹车距离存在正相关关系,即随着速度的增加,刹车距离也在增加。

数据可视化中的Python库Matplotlib使用教程

数据可视化中的Python库Matplotlib使用教程

数据可视化中的Python库Matplotlib使用教程数据可视化在现代数据分析和机器学习中起着至关重要的作用。

它帮助我们将庞大的、复杂的数据集转化为可读性强、易于理解的图形。

而Python中的Matplotlib库是一款功能强大的数据可视化工具,被广泛应用于数据分析和科学计算领域。

本文将为您详细介绍Matplotlib库的基本使用方法以及它的主要功能和特性。

1. 简介Matplotlib是一个开源的Python绘图库,由John D. Hunter于2003年创建。

它是基于NumPy数组的高质量2D图像生成库。

Matplotlib支持多种绘图类型,包括线图、散点图、柱状图、等高线图、饼图等,同时也支持图像、动画和3D绘图等功能。

2. 安装要使用Matplotlib库,首先需要安装它。

在终端或命令提示符中输入以下命令即可安装Matplotlib:```pip install matplotlib```3. 绘制基本图形使用Matplotlib可以很方便地绘制各种基本图形。

以下是一些示例代码:```import matplotlib.pyplot as plt# 绘制折线图x = [1, 2, 3, 4, 5]y = [2, 4, 6, 8, 10]plt.plot(x, y)# 绘制散点图x = [1, 2, 3, 4, 5]y = [2, 4, 6, 8, 10]plt.scatter(x, y)# 绘制柱状图x = [1, 2, 3, 4, 5]y = [2, 4, 6, 8, 10]plt.bar(x, y)plt.show()```4. 定制图形Matplotlib库提供了大量的定制选项,使用户能够根据自己的需要编辑图形的外观和样式。

以下是一些常用的定制方法:```# 设置标题plt.title("Title")# 设置X轴和Y轴标签plt.xlabel("X Label")plt.ylabel("Y Label")# 设置X轴和Y轴的范围plt.xlim(0, 10)plt.ylim(0, 20)# 设置图例plt.legend()# 设置网格线plt.grid(True)# 添加注释plt.annotate('Annotation', xy=(1, 1), xytext=(3, 6),arrowprops=dict(facecolor='black', arrowstyle='->'))# 添加文本plt.text(2, 12, 'Text', fontsize=12)# 调整图形大小fig = plt.figure(figsize=(8, 6))```5. 子图Matplotlib库还允许用户在同一个图像窗口中绘制多个图形,即创建子图。

Python数据可视化、安装环境matplotlib _光环大数据Python培训

Python数据可视化、安装环境matplotlib _光环大数据Python培训

Python数据可视化、安装环境matplotlib _光环大数据Python培训Python数据可视化、安装环境matplotlib、绘制简单的折丝图。

写得比较粗浅,后面会对数据分析专题进行深入,做数据可视化的时候发现没有数据来源,接下来要准备爬虫的教程了.安装环境matplotlib个人前面也说了强烈建议使用Pycharm作为Python初学者的首选IDE,主要还是因为其强大的插件功能,很多环境都能一键安装完成,像本文的matplotlib,numpy,requests等。

下面直接上效果图:绘制简单的折丝图使用plot来绘制折线importmatplotlib.pyplotasplt#绘制折线图squares=[1,4,9,16,25]#plt.plot(squares,linewidth=5)#指定折线粗细,##plt.show();###修改标签文字和线条粗细#plt.title("squrenumber",fontsize=24)#plt.xlabel("Value",fontsize=14)#plt.ylabel("squareofvalue",fontsize=14)#plt.tick_params(axis='both',labelsize=14) #plt.show()#校正图形input_values=[1,2,3,4,5]plt.plot(input_values,squares,linewidth=5) plt.show()折线图1.png生成的效果图:使用scatter绘制散点图并设置样式importmatplotlib.pyplotasplt#简单的点#plt.scatter(2,4)#plt.show()###修改标签文字和线条粗细plt.title("squrenumber",fontsize=24)plt.xlabel("Value",fontsize=14)plt.ylabel("squareofvalue",fontsize=14)#设置刻度标记大小plt.tick_params(axis='both',which='major',labelsize=14) #绘制散点x_values=[1,2,3,4,5]y_values=[1,4,9,16,25]plt.scatter(x_values,y_values,s=100)plt.show()scatter绘制散点.png自动计算数据importmatplotlib.pyplotaspltx_values=list(range(1,1001))y_values=[x**2forxinx_values]#y_values=[x*xforxinx_values]#y_values=[x^2forxinx_values]plt.scatter(x_values,y_values,s=40)#坐标轴的取值范围#plt.axis(0,1100,0,1100000)#依次是xminxmax,ymin,ymax plt.show()自动计算效果图.png随机漫步importmatplotlib.pyplotasplyfromrandomimportchoiceclassRandomWalk():def__init__(self,num_points=5000):self.num_points=num_pointsself.x_values=[0]self.y_values=[0]deffill_walk(self):#不断走,直到达到指定步数whilelen(self.x_values)<self.num_points: #决定前进方向以及沿这个方向前进的距离x_direction=choice([1,-1])x_distance=choice([0,1,2,3,4,5,6,7,8,9]) x_step=x_direction*x_distancey_direction=choice([1,-1])y_distance=choice([0,1,2,3,4,5,6,7,8,9]) y_step=y_direction*y_distance#不能原地踏步ifx_step==0andy_step==0:continuenext_x=self.x_values[-1]+x_stepnext_y=self.y_values[-1]+y_stepself.x_values.append(next_x)self.y_values.append(next_y)rw=RandomWalk()rw.fill_walk()ply.scatter(rw.x_values,rw.y_values,s=15) ply.show()效果图随机漫步图.png使用Pygal模拟掷骰子pygal绘图.png环境安装,直接在Pycharm上安装插件。

Python培训ppt课件

Python培训ppt课件

02
Python进阶
Python面向对象编程
面向对象编程的概念
Python支持面向对象编程范式,通过 类和对象来设计软件。
类的定义和对象的创建
继承和多态
继承是实现代码复用的重要手段,子 类可以继承父类的属性和方法。多态 则是实现不同形态对象之间交互的机 制。
类是对象的模板,用于定义对象的属 性和方法。通过创建类的实例,可以 生成对象。
01
02
03
Django
一个高级Web框架,提供 了一整套完整的开发工具 ,包括模型、模板和URL 配置。
Flask
一个轻量级的Web框架, 适合小型项目或微服务开 发,具有灵活性和扩展性 。
Pyramid
一个可扩展的Web框架, 适合大型项目和复杂应用 ,支持多种视图技术。
Python的数据库操作
深度学习
Python中的深度学习库,如TensorFlow和PyTorch,可用于构建 复杂的神经网络模型,应用于图像识别、语音识别等领域。
自然语言处理
Python在自然语言处理领域也有广泛的应用,如文本分类、情感分析 、机器翻译等。
06
Python未来发展前景
Python在云计算和大数据领域的发展
Python的数据类型包括数字、字符串、列表、元组、字典和集合等。数字用于表示数值, 字符串用于表示文本数据,列表和元组用于表示有序的数据集合,字典用于表示键值对,集 合则用于表示无序的不重复元素集合。
Python的控制流和函数
详细描述:Python的控制流语句包括条件语句和循 环语句,这些语句用于控制程序的流程。条件语句用 于根据条件判断执行不同的代码块,循环语句则用于 重复执行一段代码直到满足特定条件。

学Python matplotlib(热力图)_光环大数据python培训

学Python matplotlib(热力图)_光环大数据python培训

学Python matplotlib(热力图)_光环大数据python培训从效果图里我们可以发现,所谓的填充表格热力图就是将原本为数字表(数组)的单元格以颜色来填充,颜色的深浅表示数值的大小。

我想,对于这样的图来说,总比直接看密密麻麻的数值表要轻松的多吧,毕竟颜色感官比数字感官要直接,要具有更强的冲击。

除了填充表格热力图,还有更为常见的地图热力图等。

那填充表格热力图是如何应用Python来实现的呢?就让我们手把手的进行讲解吧~数据采集—气温数据在绘图之前,需要说明一下绘图的数据源,案例中的数据是通过爬虫获取的,用的是上海9月份每天的最高气温,即生成两列数据(日期和最高气温)。

在有了原始数据的基础上,还需要对数据进行清洗和整理,关于这部分是做任何数据分析或可视化都必经的坎。

详细可以通过下面的代码来了解:步骤一:数据采集# ========== Python3 + Jupyter ========== ## 导入所需的第三方包import datetimeimport calendarimport requestsfrom bs4 import BeautifulSoupimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns# 采集数据# 上海2017年9月份历史气温数据url = '/shanghai/201709.html'# 发送爬虫请求response = requests.get(url).text# 解析源代码soup = BeautifulSoup(response, 'html.parser')# 根据HTML标记语言,查询目标标记下的数据datas = soup.findAll('div',{'class':'tqtongji2'})[0].findAll('ul')[1:]# 抓取日期数据date = [i.findAll('li')[0].text for i in datas]# 抓取最高温数据high = [i.findAll('li')[1].text for i in datas]# 创建数据框df =pd.DataFrame({'date':date, 'high':high})# 变量类型df.dtypes步骤二:数据整理# 将date变量转换为日期类型df.date = pd.to_datetime(df.date)# 将high变量转换成数值型df.high = df.high.astype('int')# 数据处理# 由日期型数据衍生出weekdaydf['weekday'] = df.date.apply(pd.datetime.weekday)#由日期型数据计算week_of_month,即当前日期在本月中是第几周# 由于没有现成的函数,这里自定义一个函数来计算week_of_monthdefweek_of_month(tgtdate): # 由日期型参数tgtdate计算该月的天数days_this_month = calendar.mdays[tgtdate.month] # 通过循环当月的所有天数,找出第二周的第一个日期 for i in range(1, days_this_month + 1):d = datetime.datetime(tgtdate.year, tgtdate.month, i) ifd.day - d.weekday() > 0: startdate = d break # 返回日期所属月份的第一周return (tgtdate -startdate).days //7 + 1df['week_of_month'] =df.date.apply(week_of_month)df.head()到此为止,我们就完成了数据的采集和清洗过程,接下来我们就可以借助该数据完成填充热力(日历)图的绘制。

学Python_matplotlib(饼图)_光环大数据python培训

学Python_matplotlib(饼图)_光环大数据python培训

学Python_matplotlib(饼图)_光环大数据python培训在从零开始学Python系列10中,我们用条形图来展示离散变量的分布呈现,在常见的统计图像中,还有一种图像可以表示离散变量各水平占比情况,这就是我们要讲解的饼图。

饼图的绘制可以使用matplotlib库中的pie函数,首先我们来看看这个函数的参数说明。

pie函数参数解读 plt.pie(x, explode= None, labels= None, colors= None, autopct= None, pctdistance= 0.6, shadow= False, labeldistance= 1.1, startangle= None, radius= None, counterclock= True, wedgeprops= None, textprops= None, center=( 0, 0), frame= False)x:指定绘图的数据;explode:指定饼图某些部分的突出显示,即呈现爆炸式;labels:为饼图添加标签说明,类似于图例说明;colors:指定饼图的填充色;autopct:自动添加百分比显示,可以采用格式化的方法显示;pctdistance:设置百分比标签与圆心的距离;shadow:是否添加饼图的阴影效果;labeldistance:设置各扇形标签(图例)与圆心的距离;startangle:设置饼图的初始摆放角度;radius:设置饼图的半径大小;counterclock:是否让饼图按逆时针顺序呈现;wedgeprops:设置饼图内外边界的属性,如边界线的粗细、颜色等;textprops:设置饼图中文本的属性,如字体大小、颜色等;center:指定饼图的中心点位置,默认为原点frame:是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置;饼图的绘制案例:芝麻信用失信用户分析关于pie函数的参数我们讲了这么多,光讲不练假把式,我们接下来通过案例,来绘制一个个性化的饼图。

高效使用Python可视化工具Matplotlib_光环大数据python培训

高效使用Python可视化工具Matplotlib_光环大数据python培训

高效使用Python可视化工具Matplotlib_光环大数据python培训Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表。

本文主要介绍了在学习Matplotlib时面临的一些挑战,为什么要使用Matplotlib,并推荐了一个学习使用Matplotlib 的步骤。

简介对于新手来说,进入Python可视化领域有时可能会令人感到沮丧。

Python 有很多不同的可视化工具,选择一个正确的工具有时是一种挑战。

例如,即使两年过去了,这篇《Overview of Python Visualization Tools》是引导人们到这个网站的顶级帖子之一。

在那篇文章中,我对matplotlib留下了一些阴影,并在分析过程中不再使用。

然而,在使用诸如pandas,scikit-learn,seaborn 和其他数据科学技术栈的python工具后,觉得丢弃matplotlib有点过早了。

说实话,之前我不太了解matplotlib,也不知道如何在工作流程中有效地使用。

现在我花时间学习了其中的一些工具,以及如何使用matplotlib,已经开始将matplotlib看作是不可或缺的工具了。

这篇文章将展示我是如何使用matplotlib的,并为刚入门的用户或者没时间学习matplotlib的用户提供一些建议。

我坚信matplotlib是python数据科学技术栈的重要组成部分,希望本文能帮助大家了解如何将matplotlib用于自己的可视化。

为什么对matplotlib都是负面评价?在我看来,新用户学习matplotlib之所以会面临一定的挑战,主要有以下几个原因。

首先,matplotlib有两种接口。

第一种是基于MATLAB并使用基于状态的接口。

第二种是面向对象的接口。

为什么是这两种接口不在本文讨论的范围之内,但是知道有两种方法在使用matplotlib进行绘图时非常重要。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学Python matplotlib(面积图)_光环大数据python培训
我们之前写过一篇文章是关于折线图的可视化《从零开始学Python【14】—matplotlib(折线图)》,一般来说,折线图表达的思想是研究某个时间序列的趋势。

往往一条折线图可以根据某个分组变量进行拆分,比如今年的销售额可以拆分成各个事业线的贡献;流量可以拆分为各个渠道;物流总量可以拆分为公路运输、铁路运输、海运和空运。

按照这个思路可以将一条折线图拆分成多条折线图,直观的发现各个折线图的趋势,但遗憾的是不能得知总量的趋势。

为了解决这个问题,我们可以借助matplotlib中的stackplot函数绘制面积图来直观表达分组趋势和总量趋势。

stackplot函数语法及参数含义
stackplot(x,*args,**kargs)
x指定面积图的x轴数据
*args为可变参数,可以接受任意多的y轴数据,即各个拆分的数据对象
**kargs为关键字参数,可以通过传递其他参数来修饰面积图,如标签、颜色
可用的关键字参数:
labels:以列表的形式传递每一块面积图包含的标签,通过图例展现
colors:设置不同的颜色填充面积图
案例分享
以我国2017年的物流运输量为例,来对比绘制折线图和面积图。

这里将物流运输量拆分成公路运输、铁路运输和水路运输,绘图的对比代码见下方所示:
# ========== Python3 + Jupyter ========== ## 导入第三方模块import pandas as pdimport numpy as npimport matplotlib.pyplot as plt# 设置图形的显示风格e('ggplot')# 设置中文和负号正常显示plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'plt.rcParams['axes.unicode_minus'] = False# 读取数据transport = pd.read_excel('transport.xls')# 窥探数据框的前5行transport.head()# 折线图的x变量值,即Jan(一月份)到Aug(八月份)8个值N = np.arange(transport.shape[1]-1)# 绘制拆分的折线图labels = transport.Indexchannel = transport.columns[1:]for i in range(transport.shape[0]): plt.plot(N, # x坐标transport.loc[i,'Jan':'Aug'], # y坐标 label = labels[i], # 添加标签marker = 'o', # 给折线图添加圆形点linewidth = 2 # 设置线的宽度 )# 添加标题和坐标轴标签plt.title('2017年各运输渠道的运输量')plt.ylabel('运输量(万吨)')# 修改x轴的刻度标签plt.xticks(N,channel)# 剔除图框上边界和右边界的刻度plt.tick_params(top = 'off', right = 'off')# 显示图例(即显示label的效果) plt.legend(loc = 'best') # 显示图形plt.show()
这就是绘制分组的折线图思想,虽然折线图能够反映各个渠道的运输量随月份的波动趋势,但无法观察到1月份到8月份的各自总量。

接下来我们看看面积图的展现。

x = N# 将铁路运输、公路运输和水路运输各月的值提取出来,存储到y1~y3# 千万千万记得,提取出数据框的一列时,需要将序列的数据类型进行强制转换,否则会报错y1 = transport.loc[0,'Jan':'Aug'].astype('int')y2 = transport.loc[1,'Jan':'Aug'].astype('int')y3 = transport.loc[2,'Jan':'Aug'].astype('int')# 定义各区块面积的含义colors = ['#ff9999','#9999ff','#cc1234']# 绘制面积图plt.stackplot(x, # x轴 y1,y2,y3, # 可变参数,接受多个y labels = labels, # 定义各区块面积的含义 colors = colors # 设置各区块的填充色 )# 添加标题和坐标轴标签plt.title('2017年各运输渠道的运输量')plt.ylabel('累积运输量(万吨)')# 修改x轴的刻度plt.xticks(N,channel)# 剔除图框上边界和右边界的刻度plt.tick_params(top = 'off', right = 'off')# 显示图例(即显示labels的效果) plt.legend(loc = 'upper left')# 显示图形plt.show()
一个stackplot函数就能解决问题,而且具有很强的定制化。

从上面的面积图就可以清晰的发现两个方面的信息,一个是各渠道运输量的趋势,另一个是则可以看见各月份的总量趋势。

所以,我们在可视化的过程中要尽可能的为阅读者输出简单而信息量丰富的图形。

为什么大家选择光环大数据!
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请大数据领域具有多年经验的讲师,提高教学的整体质量与教学水准。

讲师团及时掌握时
代的技术,将时新的技能融入教学中,让学生所学知识顺应时代所需。

通过深入浅出、通俗易懂的教学方式,指导学生较快的掌握技能知识,帮助莘莘学子实现就业梦想。

光环大数据启动了推进人工智能人才发展的“AI智客计划”。

光环大数据专注国内大数据和人工智能培训,将在人工智能和大数据领域深度合作。

未来三年,光环大数据将联合国内百所大学,通过“AI智客计划”,共同推动人工智能产业人才生态建设,培养和认证5-10万名AI大数据领域的人才。

参加“AI智客计划”,享2000元助学金!
【报名方式、详情咨询】
光环大数据网站报名:
手机报名链接:http:// /mobile/。

相关文档
最新文档