导航:首页 > 编程语言 > 用python将数据集可视化代码

用python将数据集可视化代码

发布时间:2023-08-16 14:22:02

⑴ 怎样用python进行数据可视化

用python进行数据可视化的方法:可以利用可视化的专属库matplotlib和seaborn来实现。基于python的绘图库为matplotlib提供了完整的2D和有限3D图形支持。
我们只需借助可视化的两个专属库(libraries),俗称matplotlib和seaborn即可。
(推荐教程:Python入门教程)
下面我们来详细介绍下:
Matplotlib:基于Python的绘图库为matplotlib提供了完整的2D和有限3D图形支持。这对在跨平台互动环境中发布高质量图片很有用。它也可用于动画。
Seaborn:Seaborn是一个Python中用于创建信息丰富和有吸引力的统计图形库。这个库是基于matplotlib的。Seaborn提供多种功能,如内置主题、调色板、函数和工具,来实现单因素、双因素、线性回归、数据矩阵、统计时间序列等的可视化,以让我们来进一步构建复杂的可视化。

⑵ 如何python数据可视化代码

matplotlib的图像都位于Figure对象中,你可以用plt.figure创建一个新的Figure,不能通过空Figure绘图,必须用add_subplot创建一个或多个sub_plot才行
>>> import matplotlib.pyplot as plt
>>> fig=plt.figure()
>>> ax1=fig.add_subplot(2,2,1)
>>> ax2=fig.add_subplot(2,2,2)

你可以在matplotlib的文档中找到各种图表类型,由于根据特定布局创建Figure和subplot是一件常见的任务,于是便出现一个更为方便的方法:plt.subplots,它可以创建一个新的Figure,且返回一个含有已创建的subplot对象的numpy数组。

⑶ python 怎样数据可视化 3d

importrandom

importnumpyasnp
importmatplotlibasmpl
importmatplotlib.pyplotasplt
importmatplotlib.datesasmdates

frommpl_toolkits.mplot3dimportAxes3D

mpl.rcParams['font.size']=10

fig=plt.figure()
ax=fig.add_subplot(111,projection='3d')

forzin[2011,2012,2013,2014]:
xs=xrange(1,13)
ys=1000*np.random.rand(12)

color=plt.cm.Set2(random.choice(xrange(plt.cm.Set2.N)))
ax.bar(xs,ys,zs=z,zdir='y',color=color,alpha=0.8)

ax.xaxis.set_major_locator(mpl.ticker.FixedLocator(xs))
ax.yaxis.set_major_locator(mpl.ticker.FixedLocator(ys))

ax.set_xlabel('Month')
ax.set_ylabel('Year')
ax.set_zlabel('SalesNet[usd]')

plt.show()

效果图:


利用ptyhonmatplotlib 3D函数可以画出一些3D视觉图

⑷ Python数据可视化利器Matplotlib从入门到高级4

2D曲线绘制是Matplotlib绘图的最基本功能,也是用得最多、最重要的绘图功能之一,本文开始详细介绍Matplotlib 2D曲线绘图功能。我的介绍主要以面向对象的编码风格为主,但会在文章的末尾附上相应的pyplot风格的源代码,供大家查阅、对比。我们先看一段代码:

代码运行效果如下:

这个绘图中我们没有作任何设置,一切交给Matplotlib处理。我们只是看到了绘制出的曲线的样子。但这与我们所想要的效果可能差异较大。所以我们还需要对图形进行一些自定义。

不管我们想生成什么样的图形,在Matplotlib当中,大致都可以总结为三步:一是构造绘图用的数据(Matplotlib推荐numpy数据,本系列介绍Matplotlib绘图,暂不涉及numpy的相关内容,留待后续有空余时吧);二是根据数据的特点选择适当的绘图方法并绘制出数据的图形;第三步则是对绘制的图形进行自定义设置或者美化以达到满足我们获得精美的输出图形的要求。

在上面的绘图中,我们仅仅做到了第二步,下面我们来进行一些自定义,而Matplotlib为此提供了非常丰富的功能。

你可能最想先尝试一下换个颜色看看曲线是什么样的,这有很多种方法。首先,我们可以在绘制图形的时候直接指定它,我们把绘图的代码改成下面的样子:

这里的 ‘r’ 是 “red”的简写,表示将曲线的颜色指定为红色。也可以写成下面的样子,这样可读性更高:

plot 返回一个 Line2D 对象的列表,我们使用一个带有“ line1, ”的元组来解包,随后使用 set_color() 代码设置line1 曲线的颜色,请注意这里设置的颜色会覆盖 plot 绘图函数当中指定的颜色。上面三段代码各自独立运行之后的效果是一样的。如下:

为了提高效率,Matplotlib模仿MATLAB支持常用颜色的单字母代码缩写。

你还可以使用不区分大小写的十六进制 RGB 或 RGBA 字符串(如:'#0f0f0f'),或者不区分大小写的 X11/CSS4 颜色名称(如:'aquamarine'),以及来自 xkcd color survey 的不区分大小写的颜色名称(如:'xkcd:sky blue')等等。更为详细的颜色规范,你可以查阅官方文档。但对于Python办公而言,掌握这些应该已经足够了。

与曲线颜色一样,线型和线宽也有多种方式来指定:

这里我们最终指定的线宽为2.0磅,绘图函数当中指定的线宽被后续指定的属性值覆盖了。而线型在这里由set_linestyle()指定,其中“--”和“-.”都是Matplotlib中支持的线型,“--”表示虚线,而“-.”则是点划线。而Matplotlib默认的线型“-”实线,除此之外,Matplotlib还支持“:”点线。

我们绘制曲线之前构造的数据点在曲线上也可以标记出来,这些标记点有不同的风格。同样可以以不同的方式来设置它:

注意第一行代码当中的“r:o”字符串,它是一种简写形式,是将颜色、线型和标记点形状在一个字符串中同时设置的方式,其中的“r”表示红色,“:”表示点线,“o”表示标记点为大圆点。只有在颜色使用单字符代码时才可以像上面这样组合起来同时表示三个属性。默认情况下,标记点的颜色与线型颜色相同,但可以单独设置与曲线不同的颜色,不仅如此,标记点的边线颜色和中间填充颜色也都可以单独设置。上面第二行代码我们就使用set_markeredgecolor('b')将标记点边线颜色设置为了蓝色。与标记点设置相关的还有set_marker(设置标记点形状)、set_markeredgewidth(设置标记点边线宽度)、set_markerfacecolor(设置标记点中间的填充色)、set_markersize (设置标记点的大小)等。下面是我整理的Matplotlib支持的所有标记点形状。

本文先介绍到此,后续进一步介绍坐标轴、图例和网格线的设置。最后附上本文pyplot风格的绘图代码:

显然这种简单绘图pyplot风格要简洁一些,还是很有优势的。

⑸ 114 11 个案例掌握 Python 数据可视化--美国气候研究

自哥本哈根气候会议之后,全球日益关注气候变化和温室效应等问题,并于会后建立了全球碳交易市场,分阶段分批次减碳。本实验获取了美国 1979 - 2011 年间 NASA 等机构对美国各地日均最高气温、降雨量等数据,研究及可视化了气候相关指标的变化规律及相互关系。
输入并执行魔法命令 %matplotlib inline, 并去除图例边框。

数据集介绍:
本数据集特征包括美国 49 个州(State),各州所在的地区(Region),统计年(Year),统计月(Month),平均光照(Avg Daily Sunlight),日均最大空气温度(Avg Daily Max Air Temperature ),日均最大热指数(Avg Daily Max Heat Index ),日均降雨量(Avg Daily Precipitation ),日均地表温度(Avg Day Land Surface Temperature)。
各特征的年度区间为:

导入数据并查看前 5 行。

筛选美国各大区域的主要气候指数,通过 sns.distplot 接口绘制指数的分布图。

从运行结果可知:
光照能量密度(Sunlight),美国全境各地区分布趋势大致相同,均存在较为明显的两个峰(强光照和弱光照)。这是因为非赤道国家受地球公转影响,四季光照强度会呈现出一定的周期变化规律;
从地理区位能看出,东北部光照低谷明显低于其他三个区域;
日均最高空气温度(Max Air Temperature),美国全境各地区表现出较大差异,东北部和中西部趋势大致相同,气温平缓期较长,且包含一个显着的尖峰;西部地区平缓期最长,全年最高温均相对稳定;南部分布则相对更为集中;
日均地表温度(Land Surface Temperature),与最高空气温度类似,不同之处在于其低温区分布更少;
最大热指数(Max Heat Index),西部与中西部分布较为一致,偏温和性温度,东北部热指数偏高,南部偏低;
降雨量(Precipitation),西部明显偏小,南部与东北部大致相同,中西部相对较多。

结合地理知识做一个总结:
东北部及大多数中西部地区,属于温带大陆性气候,四季分明,夏季闷热,降雨较多。
西部属于温带地中海气候,全年气候温和,并且干燥少雨,夏季气候温和,最高温度相对稳定。
南部沿海一带,终年气候温暖,夏季炎热,雨水充沛。

按月计算美国各地区降雨量均值及标准偏差,以均值 ± 一倍标准偏差绘制各地区降雨量误差线图。

从运行结果可知:
在大多数夏季月份,西部地区降雨量远小于其他地区;
西部地区冬季月降雨量高于夏季月;
中西部地区是较为典型的温带大陆性气候,秋冬降雨逐渐减少,春夏降雨逐渐升高;
南部地区偏向海洋性气候,全年降雨量相对平均。

需要安装joypy包。

日均最高气温变化趋势
通过 joypy 包的 joyplot 接口,可以绘制带堆积效应的直方分布曲线,将 1980 年 - 2008 年的日均最高温度按每隔 4 年的方式绘制其分布图,并标注 25%、75% 分位数。

从运行结果可知:
1980 - 2008 年区间,美国全境日均最高温度分布的低温区正逐渐升高,同时高温区正逐渐降低,分布更趋向于集中;
1980 - 2008 年区间,美国全境日均最高温度的 25% 分位数和 75% 分位数有少量偏离但并不明显。
日均降雨量变化趋势
同样的方式对降雨量数据进行处理并查看输出结果。

筛选出加州和纽约州的日均降雨量数据,通过 plt.hist 接口绘制降雨量各月的分布图。

从运行结果可知:
加州地区降雨量多集中在 0 - 1 mm 区间,很少出现大雨,相比而言,纽约州则显得雨量充沛,日均降雨量分布在 2 - 4 mm 区间。

直方图在堆积效应下会被覆盖大多数细节,同时表达聚合、离散效应的箱线图在此类问题上或许是更好的选择。
通过 sns.boxplot 接口绘制加州和纽约州全年各月降雨量分布箱线图.

从箱线图上,我们可以清晰地对比每个月两个州的降雨量分布,既可以看到集中程度,例如七月的加州降雨量集中在 0.1 - 0.5 mm 的窄区间,说明此时很少会有大雨;又可以看到离散情况,例如一月的加州,箱线图箱子(box)部分分布较宽,且上方 10 mm 左右存在一个离散点,说明此时的加州可能偶尔地会出现大到暴雨。

视觉上更为美观且简约的是摆动的误差线图,实验 “美国全境降雨量月度分布” 将所有类别标签的 x 位置均放于同一处,导致误差线高度重合。可通过调节 x 坐标位置将需要对比的序列紧凑排布。

从输出结果可以看出,加州冬季的降雨量不确定更强,每年的的十一月至次年的三月,存在降雨量大,且降雨量存在忽多忽少的现象(误差线长)。

上面的实验均在研究单变量的分布,但经常性地,我们希望知道任意两个变量的联合分布有怎样的特征。
核密度估计 , 是研究此类问题的主要方式之一, sns.kdeplot 接口通过高斯核函数计算两变量的核密度函数并以等高线的形式绘制核密度。

从运行结果可知:
加州在高温区和低降雨期存在一个较为明显的高密度分布区(高温少雨的夏季);
纽约州在高温及低温区均存在一个高密度的分布区,且在不同温区降雨量分布都较为均匀。

将美国全境的降雨量与空气温度通过 plt.hist2d 接口可视化。

从运行结果可知:
美国全境最高密度的日均高温温度区域和降雨量区间分别为,78 F (约等于 25 C)和 2.2 mm 左右,属于相对舒适的生活气候区间。
美国全境降雨量与空气温度的关系-核密度估计
在上面实验基础上,在 x, y 轴上分别通过 sns.rugplot 接口绘制核密度估计的一维分布图,可在一张绘图平面上同时获取联合分布和单变量分布的特征。

美国全境降雨量与空气温度的关系-散点分布和直方分布
sns.jointplot 接口通过栅格的形式,将单变量分布用子图的形式进行分别绘制,同时通过散点图进行双变量关系的展示,也是一种较好的展现数据分布的方式。

上面两个实验研究了双变量分布的可视化,以下研究 3 变量聚合结果的可视化。
通过 sns.heatmap 接口可实现对透视数据的可视化,其原理是对透视结果的值赋予不同的颜色块,以可视化其值的大小,并通过颜色条工具量化其值大小。

上面的两个实验可视化了各州随年份日均最高温度的中位数变化趋势,从图中并未看出有较为显着地变化。
以下通过 t 检验的方式查看统计量是否有显着性差异。stats.ttest_ind 接口可以输出 1980 年 与 2010 年主要气候指数的显着性检验统计量及 p 值。

从运行结果可以看出:
检验结果拒绝了降雨量相等的原假设,即 1980 年 与 2010 年两年间,美国降雨量是不同的,同时没有拒绝日均日照、日均最大气温两个变量相等的原假设,说明气温未发生显着性变化。

⑹ Python 数据可视化:分类特征统计图

上一课已经体验到了 Seaborn 相对 Matplotlib 的优势,本课将要介绍的是 Seaborn 对分类数据的统计,也是它的长项。

针对分类数据的统计图,可以使用 sns.catplot 绘制,其完整参数如下:

本课使用演绎的方式来学习,首先理解这个函数的基本使用方法,重点是常用参数的含义。

其他的参数,根据名称也能基本理解。

下面就依据 kind 参数的不同取值,分门别类地介绍各种不同类型的分类统计图。

读入数据集:

然后用这个数据集制图,看看效果:

输出结果:

毫无疑问,这里绘制的是散点图。但是,该散点图的横坐标是分类特征 time 中的三个值,并且用 hue='kind' 又将分类特征插入到图像中,即用不同颜色的的点代表又一个分类特征 kind 的值,最终得到这些类别组合下每个记录中的 pulse 特征值,并以上述图示表示出来。也可以理解为,x='time', hue='kind' 引入了图中的两个特征维度。

语句 ① 中,就没有特别声明参数 kind 的值,此时是使用默认值 'strip'。

与 ① 等效的还有另外一个对应函数 sns.stripplot。

输出结果:

② 与 ① 的效果一样。

不过,在 sns.catplot 中的两个参数 row、col,在类似 sns.stripplot 这样的专有函数中是没有的。因此,下面的图,只有用 sns.catplot 才能简洁直观。

输出结果:

不过,如果换一个叫角度来说,类似 sns.stripplot 这样的专有函数,表达简单,参数与 sns.catplot 相比,有所精简,使用起来更方便。

仔细比较,sns.catplot 和 sns.stripplot 两者还是稍有区别的,虽然在一般情况下两者是通用的。

因此,不要追求某一个是万能的,各有各的用途,存在即合理。

不过,下面的声明请注意: 如果没有非常的必要,比如绘制分区图,在本课中后续都演示如何使用专有名称的函数。

前面已经初步解释了这个函数,为了格式完整,这里再重复一下,即 sns.catplot 中参数 kind='strip'。

如果非要将此函数翻译为汉语,可以称之为“条状散点图”。以分类特征为一坐标轴,在另外一个坐标轴上,根据分类特征,将该分类特征数据所在记录中的连续值沿坐标轴描点。

从语句 ② 的结果图中可以看到,这些点虽然纵轴的数值有相同的,但是没有将它们重叠。因此,我们看到的好像是“一束”散点,实际上,所有点的横坐标都应该是相应特征分类数据,也不要把分类特征的值理解为一个范围,分散开仅仅是为了图示的视觉需要。

输出结果:

④ 相对 ② 的图示,在于此时同一纵轴值的都重合了——本来它们的横轴值都是一样的。实现此效果的参数是 jitter=0,它可以表示点的“振动”,如果默认或者 jitter=True,意味着允许描点在某个范围振动——语句 ② 的效果;还可设置为某个 0 到 1 的浮点,表示许可振动的幅度。请对比下面的操作。

输出结果:

语句 ② 中使用 hue='kind' 参数向图中提供了另外一个分类特征,但是,如果感觉图有点乱,还可以这样做:

输出结果:

dodge=True 的作用就在于将 hue='kind' 所引入的特征数据分开,相对 ② 的效果有很大差异。

并且,在 ⑤ 中还使用了 paletter='Set2' 设置了色彩方案。

sns.stripplot 函数中的其他有关参数,请读者使用帮助文档了解。

此函数即 sns.catplot 的参数 kind='swarm'。

输出结果:

再绘制一张简单的图,一遍研究这种图示的本质。

输出结果:

此图只使用了一个特征的数据,简化表象,才能探究 sns.swarmplot 的本质。它同样是将该特征中的数据,依据其他特征的连续值在图中描点,并且所有点在默认情况下不彼此重叠——这方面与 sns.stripplot 一样。但是,与之不同的是,这些点不是随机分布的,它们经过调整之后,均匀对称分布在分类特征数值所在直线的两侧,这样能很好地表示数据的分布特点。但是,这种方式不适合“大数据”。

sns.swarmplot 的参数似乎也没有什么太特殊的。下面使用几个,熟悉一番基本操作。

在分类维度上还可以再引入一个维度,用不同颜色的点表示另外一种类别,即使用 hue 参数来实现。

输出结果:

这里用 hue = 'smoker' 参数又引入了一个分类特征,在图中用不同颜色来区分。

如果觉得会 smoker 特征的值都混在一起有点乱,还可以使用下面方式把他们分开——老调重弹。

输出结果:

生成此效果的参数就是 dodge=True,它的作用就是当 hue 参数设置了特征之后,将 hue 的特征数据进行分类。

sns.catplot 函数的参数 kind 可以有三个值,都是用于绘制分类的分布图:

下面依次对这三个专有函数进行阐述。

⑺ 121 11 个案例掌握 Python 数据可视化--星际探索

星空是无数人梦寐以求想了解的一个领域,远古的人们通过肉眼观察星空,并制定了太阴历,指导农业发展。随着现代科技发展,有了更先进的设备进行星空的探索。本实验获取了美国国家航空航天局(NASA)官网发布的地外行星数据,研究及可视化了地外行星各参数、寻找到了一颗类地行星并研究了天体参数的相关关系。
输入并执行魔法命令 %matplotlib inline, 设置全局字号,去除图例边框,去除右侧和顶部坐标轴。

本数据集来自 NASA,行星发现是 NASA 的重要工作之一,本数据集搜集了 NASA 官网发布的 4296 颗行星的数据,本数据集字段包括:

导入数据并查看前 5 行。

截至 2020 年 10 月 22 日 全球共发现 4296 颗行星,按年聚合并绘制年度行星发现数,并在左上角绘制 NASA 的官方 LOGO 。

从运行结果可以看出,2005 年以前全球行星发现数是非常少的,经计算总计 173 颗,2014 和 2016 是行星发现成果最多的年份,2016 年度发现行星 1505 颗。

对不同机构/项目/计划进行聚合并降序排列,绘制发现行星数目的前 20 。

2009 年至 2013 年,开普勒太空望远镜成为有史以来最成功的系外行星发现者。在一片天空中至少找到了 1030 颗系外行星以及超过 4600 颗疑似行星。当机械故障剥夺了该探测器对于恒星的精确定位功能后,地球上的工程师们于 2014 年对其进行了彻底改造,并以 K2 计划命名,后者将在更短的时间内搜寻宇宙的另一片区域。

对发现行星的方式进行聚合并降序排列,绘制各种方法发现行星的比例,由于排名靠后的几种方式发现行星数较少,因此不显示其标签。

行星在宇宙中并不会发光,因此无法直接观察,行星发现的方式多为间接方式。从输出结果可以看出,发现行星主要有以下 3 种方式,其原理如下:

针对不同的行星质量,绘制比其质量大(或者小)的行星比例,由于行星质量量纲分布跨度较大,因此采用对数坐标。

从输出结果可以看出,在已发现的行星中,96.25% 行星的质量大于地球。(图中横坐标小于 e 的红色面积非常小)

通过 sns.distplot 接口绘制全部行星的质量分布图。

从输出结果可以看出,所有行星质量分布呈双峰分布,第一个峰在 1.8 左右(此处用了对数单位,表示大约 6 个地球质量),第二个峰在 6.2 左右(大概 493 个地球质量)。

针对不同发现方式发现的行星,绘制各行星的公转周期和质量的关系。

从输出结果可以看出:径向速度(Radial Velocity)方法发现的行星在公转周期和质量上分布更宽,而凌日(Transit)似乎只能发现公转周期相对较短的行星,这是因为两种方法的原理差异造成的。对于公转周期很长的行星,其运行到恒星和观察者之间的时间也较长,因此凌日发现此类行星会相对较少。而径向速度与其说是在发现行星,不如说是在观察恒星,由于恒星自身发光,因此其观察机会更多,发现各类行星的可能性更大。

针对不同发现方式发现的行星,绘制各行星的距离和质量的关系。

从输出结果可以看出,凌日和径向速度对距离较为敏感,远距离的行星大多是通过凌日发现的,而近距离的行星大多数通过径向速度发现的。原因是:近距离的行星其引力对恒星造成的摆动更为明显,因此更容易观察;当距离较远时,引力作用变弱,摆动效应减弱,因此很难借助此方法观察到行星。同时,可以观察到当行星质量更大时,其距离分布相对较宽,这是因为虽然相对恒星的距离变长了,但是由于行星质量的增加,相对引力也同步增加,恒星摆动效应会变得明显。

将所有行星的质量和半径对数化处理,绘制其分布并拟合其分布。
由于:

因此,从原理上质量对数与半径对数应该是线性关系,且斜率为定值 3 ,截距的大小与密度相关。

从输出结果可以看出:行星质量和行星半径在对数变换下,具有较好的线性关系。输出 fix_xy 数值可知,其关系可以拟合出如下公式:

拟合出曲线对应的行星平均密度为:

同样的方式绘制恒星质量与半径的关系。

从输出结果可以看出,恒星与行星的规律不同,其质量与半径在对数下呈二次曲线关系,其关系符合以下公式:

同样的方式研究恒星表面重力加速度与半径的关系。

从输出结果可以看出,恒星表面对数重力加速度与其对数半径呈现较好的线性关系:

以上我们分别探索了各变量的分布和部分变量的相关关系,当数据较多时,可以通过 pd.plotting.scatter_matrix 接口,直接绘制各变量的分布和任意两个变量的散点图分布,对于数据的初步探索,该接口可以让我们迅速对数据全貌有较为清晰的认识。

通过行星的半径和质量,恒星的半径和质量,以及行星的公转周期等指标与地球的相似性,寻找诸多行星中最类似地球的行星。

从输出结果可以看出,在 0.6 附近的位置出现了一个最大的圆圈,那就是我们找到的类地行星 Kepler - 452 b ,让我们了解一下这颗行星:

数据显示,Kepler - 452 b 行星公转周期为 384.84 天,半径为 1.63 地球半径,质量为 3.29 地球质量;它的恒星为 Kepler - 452 半径为太阳的 1.11 倍,质量为 1.04 倍,恒星方面数据与太阳相似度极高。
以下内容来自网络。 开普勒452b(Kepler 452b) ,是美国国家航空航天局(NASA)发现的外行星, 直径是地球的 1.6 倍,地球相似指数( ESI )为 0.83,距离地球1400光年,位于为天鹅座。
2015 年 7 月 24 日 0:00,美国国家航空航天局 NASA 举办媒体电话会议宣称,他们在天鹅座发现了一颗与地球相似指数达到 0.98 的类地行星开普勒 - 452 b。这个类地行星距离地球 1400 光年,绕着一颗与太阳非常相似的恒星运行。开普勒 452 b 到恒星的距离,跟地球到太阳的距离相同。NASA 称,由于缺乏关键数据,现在不能说 Kepler - 452 b 究竟是不是“另外一个地球”,只能说它是“迄今最接近另外一个地球”的系外行星。

在银河系经纬度坐标下绘制所有行星,并标记地球和 Kepler - 452 b 行星的位置。

类地行星,是人类寄希望移民的第二故乡,但即使最近的 Kepler-452 b ,也与地球相聚 1400 光年。

以下通过行星的公转周期和质量两个特征将所有行星聚为两类,即通过训练获得两个簇心。
定义函数-计算距离
聚类距离采用欧式距离:

定义函数-训练簇心
训练簇心的原理是:根据上一次的簇心计算所有点与所有簇心的距离,任一点的分类以其距离最近的簇心确定。依此原理计算出所有点的分类后,对每个分类计算新的簇心。

定义函数预测分类
根据训练得到的簇心,预测输入新的数据特征的分类。

开始训练
随机生成一个簇心,并训练 15 次。

绘制聚类结果
以最后一次训练得到的簇心为基础,进行行星的分类,并以等高面的形式绘制各类的边界。

从运行结果可以看出,所有行星被分成了两类。并通过上三角和下三角标注了每个类别的簇心位置。
聚类前
以下输出了聚类前原始数据绘制的图像。

⑻ 如何让python可视化

简介

在 Python 中,将数据可视化有多种选择,正是因为这种多样性,何时选用何种方案才变得极具挑战性。本文包含了一些较为流行的工具以及如何使用它们来创建简单的条形图,我将使用下面几种工具来完成绘图示例:

⑼ python可视化数据分析常用图大集合(收藏)

python数据分析常用图大集合:包含折线图、直方图、垂直条形图、水平条形图、饼图、箱线图、热力图、散点图、蜘蛛图、二元变量分布、面积图、六边形图等12种常用可视化数据分析图,后期还会不断的收集整理,请关注更新!

以下默认所有的操作都先导入了numpy、pandas、matplotlib、seaborn

一、折线图

折线图可以用来表示数据随着时间变化的趋势

Matplotlib

plt.plot(x, y)

plt.show()

Seaborn

df = pd.DataFrame({'x': x, 'y': y})

sns.lineplot(x="x", y="y", data=df)

plt.show()

二、直方图

直方图是比较常见的视图,它是把横坐标等分成了一定数量的小区间,然后在每个小区间内用矩形条(bars)展示该区间的数值

Matplotlib

Seaborn

三、垂直条形图

条形图可以帮我们查看类别的特征。在条形图中,长条形的长度表示类别的频数,宽度表示类别。

Matplotlib

Seaborn

1plt.show()

四、水平条形图

五、饼图

六、箱线图

箱线图由五个数值点组成:最大值 (max)、最小值 (min)、中位数 (median) 和上下四分位数 (Q3, Q1)。

可以帮我们分析出数据的差异性、离散程度和异常值等。

Matplotlib

Seaborn

七、热力图

力图,英文叫 heat map,是一种矩阵表示方法,其中矩阵中的元素值用颜色来代表,不同的颜色代表不同大小的值。通过颜色就能直观地知道某个位置上数值的大小。

通过 seaborn 的 heatmap 函数,我们可以观察到不同年份,不同月份的乘客数量变化情况,其中颜色越浅的代表乘客数量越多

八、散点图

散点图的英文叫做 scatter plot,它将两个变量的值显示在二维坐标中,非常适合展示两个变量之间的关系。

Matplotlib

Seaborn

九、蜘蛛图

蜘蛛图是一种显示一对多关系的方法,使一个变量相对于另一个变量的显着性是清晰可见

十、二元变量分布

二元变量分布可以看两个变量之间的关系

十一、面积图

面积图又称区域图,强调数量随时间而变化的程度,也可用于引起人们对总值趋势的注意。

堆积面积图还可以显示部分与整体的关系。折线图和面积图都可以用来帮助我们对趋势进行分析,当数据集有合计关系或者你想要展示局部与整体关系的时候,使用面积图为更好的选择。

十二、六边形图

六边形图将空间中的点聚合成六边形,然后根据六边形内部的值为这些六边形上色。

原文至:https://www.py.cn/toutiao/16894.html

⑽ Python数据分析:可视化

本文是《数据蛙三个月强化课》的第二篇总结教程,如果想要了解 数据蛙社群 ,可以阅读 给DataFrog社群同学的学习建议 。温馨提示:如果您已经熟悉python可视化内容,大可不必再看这篇文章,或是之挑选部分文章

对于我们数据分析师来说,不仅要自己明白数据背后的含义,而且还要给老板更直观的展示数据的意义。所以,对于这项不可缺少的技能,让我们来一起学习下吧。

画图之前,我们先导入包和生成数据集

我们先看下所用的数据集

折线图是我们观察趋势常用的图形,可以看出数据随着某个变量的变化趋势,默认情况下参数 kind="line" 表示图的类型为折线图。

对于分类数据这种离散数据,需要查看数据是如何在各个类别之间分布的,这时候就可以使用柱状图。我们为每个类别画出一个柱子。此时,可以将参数 kind 设置为 bar 。

条形图就是将竖直的柱状图翻转90度得到的图形。与柱状图一样,条形图也可以有一组或多种多组数据。

水平条形图在类别名称很长的时候非常方便,因为文字是从左到右书写的,与大多数用户的阅读顺序一致,这使得我们的图形容易阅读。而柱状图在类别名称很长的时候是没有办法很好的展示的。

直方图是柱形图的特殊形式,当我们想要看数据集的分布情况时,选择直方图。直方图的变量划分至不同的范围,然后在不同的范围中统计计数。在直方图中,柱子之间的连续的,连续的柱子暗示数值上的连续。

箱线图用来展示数据集的描述统计信息,也就是[四分位数],线的上下两端表示某组数据的最大值和最小值。箱子的上下两端表示这组数据中排在前25%位置和75%位置的数值。箱中间的横线表示中位数。此时可以将参数 kind 设置为 box。

如果想要画出散点图,可以将参数 kind 设置为 scatter,同时需要指定 x 和 y。通过散点图可以探索变量之间的关系。

饼图是用面积表示一组数据的占比,此时可以将参数 kind 设置为 pie。

我们刚开始学习的同学,最基本应该明白什么数据应该用什么图形来展示,同学们来一起总结吧。

阅读全文

与用python将数据集可视化代码相关的资料

热点内容
加密货币需要投资吗 浏览:528
php选择文件夹 浏览:561
数据库命令文件用什么创建 浏览:64
空调压缩机接头 浏览:374
安卓命令代码大全 浏览:11
明日之后在同一个服务器为什么看不见好友 浏览:699
python日期减一个月 浏览:395
手游网络游戏安装包可以编译吗 浏览:853
氧气是压缩气体吗 浏览:877
电脑蹦出文件夹 浏览:753
安徽ipfs云服务器 浏览:515
acmc用什么编译器 浏览:230
golangweb编译部署 浏览:923
怎样踩东西解压 浏览:969
单片机核心板外接键盘 浏览:396
怎样打开自己的微信文件夹 浏览:424
单片机红外测距原理 浏览:268
phpxdebug扩展 浏览:757
建筑楼层净高算法 浏览:1000
怎么关闭智联app求职状态 浏览:419