网站优化含义,免费域名注册网中国万网,无锡企业网站公司,阿里云服务器怎么安装wordpress目录 概述一、格式1. 生成pandas.plotting对象来生成图表2. 调用plot()函数来生成图表3.支持的图表类型 二、单变量绘图常用图表1. 柱状图#xff08;bar#xff09;使用场景代码实现 2. 折线图#xff08;line#xff09;#xff08;默认即为折线图#xff09;适用场景代… 目录 概述一、格式1. 生成pandas.plotting对象来生成图表2. 调用plot()函数来生成图表3.支持的图表类型 二、单变量绘图常用图表1. 柱状图bar使用场景代码实现 2. 折线图line默认即为折线图适用场景代码实现 3.面积图area适用场景 代码实现4.直方图histbins n适用场景代码实现 5.饼图pie适用范围 代码实现 三、双变量绘图常用图表1.散点图scatter适用范围代码实现 2. 蜂巢图hexbin适用范围代码实现 3.堆叠图bar(stackedTrue)适用范围代码实现 4.面积堆叠图area适用范围代码实现 下篇内容 概述
Pandas 自带的可视化功能通过 plot 方法提供了一种便捷的方式来创建各种类型的图表。plot 方法是基于 Matplotlib 库构建的因此它继承了 Matplotlib 的强大功能和灵活性同时简化了绘图过程使得用户无需深入了解 Matplotlib 的所有细节即可快速创建图表。
主要特点和优势 集成性plot 方法直接集成在 Pandas DataFrame 和 Series 对象中使得用户可以直接从数据 对象创建图表无需额外转换数据格式。便捷性通过简单的函数调用和参数设置用户可以快速生成各种类型的图表无需编写大量的绘图代码。灵活性尽管 plot 方法提供了默认的图表样式和设置但用户仍然可以通过调整参数或使用 Matplotlib 的功能来进一步定制和美化图表。
一、格式
1. 生成pandas.plotting对象来生成图表
格式
Dataframe[条件].聚合.plot.图形函数2. 调用plot()函数来生成图表
格式
Dataframe[条件].聚合.plot(kind 图表类型,....其他参数)这两种方法除语法外没有区别建议使用第一种写法
3.支持的图表类型
plot 方法支持多种图表类型包括
线图 (line)用于展示数据随时间或其他连续变量的变化趋势。柱状图 (bar)用于比较不同类别的数值数据。水平柱状图 (barh)与柱状图类似但条形是水平的。直方图 (hist)用于展示数值数据的分布情况。箱线图 (box)用于展示一组数值数据的分布特征包括最小值、最大值、中位数、四分位数等。面积图 (area)类似于线图但下方区域被填充颜色用于强调总量或累积效果。饼图 (pie)用于展示不同类别的占比情况。散点图 (scatter)用于展示两个变量之间的关系。核密度估计图 (kde 或 density)用于展示单变量概率分布的非参数估计。
二、单变量绘图常用图表
导入数据
import pandas as pd
import pandas as ps
wine pd.read_csv(/export/data/pandas_data/winemag-data_first150k.csv,index_col0)
wine数据样式 产看数据基本信息
# 查看数据基本信息
wine.info()1. 柱状图bar
使用场景
柱状图主要适用于以下类型的数据 分类数据柱状图最常用于展示分类数据。 分类数据是按照某种属性或特征将数据分为不同的类别或组。例如人口统计中的性别、职业、教育程度等或者产品销售数据中的不同产品类型。柱状图通过柱子的高度来表示每个类别的频数或占比使得不同类别之间的数据对比一目了然。 离散数值数据除了分类数据柱状图也可以用于展示离散的数值数据尤其是当这些数值代表不同的类别或组时。 例如展示不同年龄段人群的平均收入或者不同月份的销售额。 时间序列数据按时间分类虽然线图通常是时间序列数据的首选可视化方式但在某些情况下如果时间序列数据是按固定时间间隔如月份、季度或年份收集的并且主要关注每个时间点的数值而非趋势变化那么柱状图也是一个可行的选择。 例如展示一年中各个月份的销售数据。 排序数据当需要对分类数据进行排序并通过可视化来强调这种排序时柱状图也很适用。 例如按销售额从高到低排序的产品类别。
需要注意的是柱状图不适合用于展示连续变化的数值数据或复杂的趋势关系因为这可能导致图形过于拥挤难以解读。在这种情况下线图或散点图可能更为合适。
代码实现
注若数据处理部分未明白请先学习本专栏中Pandas入门篇二中相关内容
# 展示各省红酒种类排名前10的柱状图figsize为图表大小fontsize 为字体大小color代表柱体颜色
wine[province].value_counts().head(10).plot.bar(figsize(10,8),fontsize 20,color[r,g,b])图表展示
2. 折线图line默认即为折线图
适用场景
折线图Line Chart主要适用于展示随时间或其他连续变量变化的数据趋势。以下是折线图适用的数据类型 时间序列数据折线图最常用于展示时间序列数据即数据随时间变化的趋势。例如股票价格随日期的变化、气温随季节的变化、销售额随月份的变化等。通过连接不同时间点的数据点折线图可以清晰地揭示数据随时间的变化规律帮助用户识别趋势、周期性变化或异常值。 连续数值数据除了时间序列数据折线图也适用于展示其他连续变量之间的数值关系。只要数据点可以按某种顺序如大小、等级排列就可以使用折线图来表示。这种顺序不必是时间但数据点之间应该存在某种逻辑上的连续性。 多组数据的对比当需要同时展示多组数据随时间或其他连续变量的变化趋势时折线图非常有用。通过不同颜色的线条或标记可以区分不同的数据系列从而比较它们之间的相似性和差异性。
需要注意的是折线图不适用于展示分类数据或离散数值数据因为这些数据类型通常更适合使用柱状图或饼图等图表类型。此外如果数据点过多或变化过于复杂折线图可能会变得难以解读此时可能需要考虑使用其他可视化方法或对数据进行简化处理。
代码实现
注若数据处理部分未明白请先学习本专栏中Pandas入门篇二中相关内容
# 统计各分数段红酒数量gridTrue)表示显示网格
wine[points].value_counts().sort_index().plot.line(figsize(13,8), colorgray,fontsize 20,gridTrue)图表展示
3.面积图area
适用场景
面积图是在折线图的基础上对折线以下的区域进行颜色填充用于在连续间隔或时间跨度上展示数值。它主要强调数量与时间或其他连续变量的关系并特别适用于表示趋势和对比关系。因此面积图主要适用于以下类型的数据
时间序列数据面积图非常适合展示随时间变化的数据。例如企业每个月的销售额、网站每日的访问量等。通过面积图可以清晰地看到数据随时间变化的趋势以及不同时间段内数据的累积效果。连续数值数据除了时间序列数据面积图也适用于展示其他连续变量的数值数据。这些数据可以是连续的、有序的并且可以通过面积的大小来表示数值的大小。多组数据的对比当需要同时展示多组数据的变化趋势并进行对比时面积图是一个很好的选择。通过为不同的数据系列使用不同的颜色或填充模式可以清晰地看到它们之间的差异和相似之处。 需要注意的是面积图在展示大量数据时可能会变得复杂和难以解读。因此在数据点过多或数据变化过于复杂的情况下可能需要考虑使用其他类型的图表如折线图或柱状图。
代码实现
注若数据处理部分未明白请先学习本专栏中Pandas入门篇二中相关内容
import matplotlib as plt
plt.rcParams[font.sans-serif] [SimHei] # 正常显示汉字
plt.rcParams[axes.unicode_minus] False # 正常显示负号
wine[points].value_counts().sort_index().plot.area(figsize(13,8), colorgray,fontsize 20,title 各分数段红酒数量面积图)图表展示
4.直方图histbins n
适用场景
直方图主要适用于展示连续型变量的分布情况。这类数据通常具有无限多个可能的取值且取值之间可以连续变化如人的身高、体重、考试成绩等。通过直方图我们可以清晰地看到数据的集中趋势、分散程度以及可能存在的异常值。
直方图的基本构造是将连续变量划分为若干组通常是等宽的然后统计每组的频数或频率并以矩形的面积来表示。矩形的宽度表示组距高度表示频数或频率。这样整个直方图就展示了数据的分布情况。
在实际应用中直方图常用于以下几个场景
数据分析与探索在数据分析的初期阶段直方图可以帮助我们快速了解数据的分布情况从而为后续的分析和建模提供基础。质量控制在工业生产中直方图可以用来监控产品的质量分布情况及时发现异常值或生产过程中的问题。统计学研究在统计学中直方图常用于展示样本数据的分布情况并与理论分布进行比较以检验假设或估计参数。 需要注意的是直方图虽然能够展示数据的分布情况但并不能提供关于数据之间关系的信息。因此在需要分析变量之间关系的情况下可能需要结合其他类型的图表如散点图、折线图等进行综合分析。
代码实现
# 筛选价格 小于 150的, 然后进行: 直方图绘制,bins为划分5个区间
wine[wine[price] 150][price].plot.hist(bins10,figsize(13,8), colorgray,fontsize 20,title 价格小于150的红酒数量直方图)图表展示
5.饼图pie
适用范围
饼图Pie Chart主要适用于展示分类数据的占比情况。具体来说饼图通过将一个完整的圆饼按照各部分所占的比例来划分每个部分用不同的颜色或纹理表示从而直观地展示各类别在总体中所占的比例。
饼图适用于以下类型的数据
分类数据饼图最适合用于展示分类数据的占比。例如展示不同产品类型的销售占比、不同部门的员工人数占比、不同地区的客户数量占比等。通过饼图可以清晰地看到各类别在总体中的相对大小。 百分比数据当需要展示各类别所占的百分比时饼图也是一个很好的选择。通过饼图可以直观地比较不同类别之间的比例关系从而更容易地识别出占比最大或最小的类别。 需要注意的是当饼图中的类别过多时可能会导致饼图变得拥挤且难以解读。在这种情况下可以考虑使用其他类型的图表如柱状图或条形图来展示数据。此外饼图只展示了各类别的占比而不能展示数量的具体值因此在需要展示具体数值时可能需要结合其他图表或文字说明进行补充。
代码实现
# 展示各省红酒种类排名前10的饼图
wine[province].value_counts().head(10).plot.pie(figsize(10,8),fontsize 20)图表展示
三、双变量绘图常用图表
1.散点图scatter
适用范围
散点图主要适用于显示和比较数值型数据尤其是当需要观察两个变量之间的关系时。例如在科学数据、统计数据和工程数据的分析中散点图常被用来判断数据是否倾向于使用聚类来做分群或者是否倾向于使用线性回归来做线性分析。
在散点图中每个数据点代表两个变量的一个观测值横轴和纵轴分别代表两个不同的变量。通过观察数据点在图上的分布模式可以判断这两个变量之间是否存在某种关联如正相关、负相关或无关等。此外散点图还能展示数据的疏密程度和变化趋势从而揭示两个连续变量之间的数量关系。
当有两个变量且其中一个为分类变量时散点图可以通过改变点的形状或颜色来区分不同的类别从而揭示这些变量之间的关系。对于所有的变量都为连续性变量的情况也可以绘制高维散点图进行分析。
需要注意的是散点图主要用于显示变量之间的关系和趋势而不是提供精确的数值。因此在解读散点图时应结合具体的数据背景和上下文进行理解。
总的来说散点图适用于分析两个或多个数值型变量之间的关系尤其在需要观察数据分布和趋势的情况下。
代码实现
# 绘制评分和价格的散点分布图(随机取100样本绘制)
wine.sample(100).plot.scatter(x price,y points ,figsize(15,6),fontsize20)图表展示
2. 蜂巢图hexbin
适用范围
蜂巢图适用于展示连续型变量的二维分布。这种图表通过将二维平面划分为一系列六边形格子类似于蜂巢的结构并统计每个格子内的数据点数量来揭示数据的分布特征。
蜂巢图尤其适用于以下情况
连续变量的二维关系当需要观察两个连续变量之间的分布关系时Hexplot可以提供一个直观且平滑的展示方式。 它不像散点图那样在数据点密集时可能出现重叠而是通过将数据点聚合到六边形格子中更清晰地展示数据的整体分布趋势。数据密度可视化蜂巢图通过颜色的深浅或格子的大小来表示不同区域的数据密度从而可以快速地识别出数据的聚集区域和稀疏区域。这对于发现数据中的异常值、热点或冷点非常有用。大量数据点的可视化当数据量非常大时散点图可能会变得难以解读因为大量的数据点可能导致视觉上的混乱。而蜂巢图通过将数据点聚合到六边形格子中可以有效地减少视觉上的复杂性同时保留数据的分布特征。
需要注意的是虽然蜂巢图能够揭示数据的分布趋势和密度但它可能无法准确地表示单个数据点的具体位置。因此在需要精确了解每个数据点位置的情况下可能需要结合其他图表类型如散点图进行综合分析。
总的来说蜂巢图适用于展示连续型变量的二维分布特别是当数据量较大或需要观察数据密度时。
代码实现
# 4. 处理X轴坐标缺失, 属于Bug(新版本已解决), 可以通过调用 matplotlibde api添加x坐标
import matplotlib.pyplot as plt
fig, a1 plt.subplots(figsize (12, 8))
# 绘制评分和价格的蜂巢图,gridsize 为设置蜂巢的大小
wine[wine[price]100].plot.hexbin(x price,y points ,figsize(15,6),fontsize20,gridsize 20, axa1)
# 增加x轴刻度
a1.set_xticks([0, 20, 40, 60, 80, 100])
plt.show()图表展示:
3.堆叠图bar(stackedTrue)
适用范围
堆叠图是一种特殊的图表类型它通过将多个系列的数据在同个类目轴上同一X轴位置进行叠加显示以展示多系列数据的和或各个数据系列的分量。堆叠图特别适用于以下类型的数据
多个系列数据需要对比当需要比较两个或多个系列的值时可以使用堆叠图。它有助于直观地比较各个系列在同一X轴位置上的数据总和或各个数据系列的分量。关注多系列数据的和如果更关注于多系列数据的和在不同个类目轴上不同X轴位置的差异而非突出各个系列数据之间的差异性那么堆叠图是一个很好的选择。时间序列数据或分类数据堆叠图可以用于展示时间序列数据或分类数据的趋势和变化。通过堆叠不同时间段或类别的数据可以清晰地看到各个系列数据的贡献和变化。
需要注意的是堆叠图并不适用于所有数据场景。例如当需要比较各个数据点的绝对值时堆叠图可能不是最佳选择因为堆叠会导致数据点的实际值变得不那么直观。此外对于分类数据的比较如果更关注各个类别的独立表现而非其累加效果使用其他类型的图表如柱状图或饼图可能更为合适。
代码实现
# 根据葡萄酒种类分组, 找到最常见的五种葡萄酒
# 1. 找到 种类最多的 五种酒 的 名字.
top_5_variety wine[variety].value_counts().head().index.to_list()
top_5_variety# 2. 从数据中取出最常见的五种葡萄酒.
top_5_wine wine[wine.variety.isin(top_5_variety)]
top_5_wine# 3. 透视表计数.
wine_counts top_5_wine.pivot_table(indexpoints, columnsvariety, valuescountry, aggfunccount)
wine_counts# 4. 修改列名, 做不做都行.
# wine_counts.columns [Bordeaux-style Red Blend, Cabernet Sauvignon, Chardonnay,Pinot Noir, Red Blend]# 5. 可视化.
wine_counts.plot.bar(stackedTrue, figsize(16, 8)) # 堆叠图图表展示
4.面积堆叠图area
适用范围
面积堆叠图Area Stacked Chart适合展示具有多个分类或变量并且需要表现这些分类或变量在总体中的累积量或占比情况的数据。具体来说它适用于以下几种类型的数据
多分类或变量的累积量或占比面积堆叠图能够清晰地表示每个分类或变量在总量中所占的比例并允许用户在不同分类或变量之间进行比较。 这对于展示市场份额、销售分布、成本构成等多分类数据的累积量和占比情况非常有用。时间序列数据当需要展示多个分类或变量随时间变化的趋势时面积堆叠图是一个很好的选择。 通过堆叠不同时间段的数据用户可以直观地看到每个分类或变量在不同时间点的贡献和变化。强调部分与整体关系面积堆叠图通过展示每个数据系列在总体中的占比强调了部分与整体的关系。这使得用户能够更容易地理解不同数据系列对整体趋势的贡献和影响。
需要注意的是当分类或变量的数量过多时面积堆叠图可能会变得拥挤和难以解读。因此在选择使用面积堆叠图时需要确保分类或变量的数量适中以保证图表的清晰度和可读性。
代码实现
wine_counts.plot.area(figsize(16, 8)) 图表展示
下篇内容
seaborn可视化