赞
踩
气泡图是一种在xy轴上显示三个维度的数据的有效方式。在气泡图中,基本上,每个气泡代表一个数据点。横坐标和纵坐标的位置代表两个维度,气泡的大小则代表第三个维度。
在这个例子中,我们用numpy库生成了一些随机数据,然后用matplotlib库的scatter函数创建了一个气泡图。在scatter函数中,参数x, y分别代表数据点的x和y坐标,参数s代表数据点(即气泡)的大小。
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 随机生成数据
- np.random.seed(0)
- x = np.random.rand(25)
-
- y = np.random.rand(25)
- z = np.random.rand(25) * 1000 # 这将决定气泡的大小
-
- # 创建气泡图
- plt.scatter(x, y, s=z)
-
- # 添加图形的标题和x,y轴的标签
- plt.title('bubble')
- plt.xlabel('X')
- plt.ylabel('Y')
-
- # 显示图形
- plt.show()
影响图(Influence Diagram)是一种用于展示变量之间因果关系的图形化工具。在Python中,可以使用NetworkX和Matplotlib等库来绘制影响图。
- import matplotlib.pyplot as plt
- import networkx as nx
-
- # 创建一个有向图
- G = nx.DiGraph()
-
- # 添加节点
- G.add_node("X")
- G.add_node("Y")
- G.add_node("Z")
-
- # 添加边
- G.add_edge("X", "Y")
- G.add_edge("Y", "Z")
- G.add_edge("X", "Z")
-
- # 绘制图形
- pos = nx.spring_layout(G)
- nx.draw(G, pos, with_labels=True)
- plt.show()
条形图(Bar chart)是一种以条形为主要表现形式的图形化数据可视化工具。它通过将数据值转换为条形的长度或高度来展示数据,以便直观地比较和解读不同类别的数据。条形图常用于展示两个或多个类别的数据集之间的相对大小、频次或百分比等。
条形图的基本构成包括横轴和纵轴。横轴通常代表分类或类别,纵轴则代表数值或定量数据。根据数据的类型和可视化需求,可以选择使用垂直条形图或水平条形图。在垂直条形图中,条形的长度与数据值成正比;而在水平条形图中,条形的宽度与数据值成正比。
条形图具有多种变体和表现形式,例如单轴条形图、双轴条形图、分组条形图、堆叠条形图等。通过不同的颜色、标记、标签和其他可视化元素可以增加条形图的易读性和清晰度。条形图广泛应用于数据可视化、商业报告、统计分析和决策支持等领域。
- import matplotlib.pyplot as plt
-
- # 数据
- categories = ['Category1', 'Category2', 'Category3', 'Category4', 'Category5']
- values = [5, 8, 3, 6, 4]
-
- # 创建条形图
- plt.bar(categories, values)
-
- # 添加标题和轴标签
- plt.title('Simple Bar Chart')
- plt.xlabel('Categories')
- plt.ylabel('Values')
-
- # 显示图表
- plt.show()
箱线图(Box Plot)是一种用于展示一组数据分散情况资料的统计图。包含一组数据的最大值、最小值、中位数、及上下四分位数。因此,箱线图可以提供关于数据分布的有用信息。
以下是一些箱线图的基本构成:
箱体:包含了所有数据的整体范围,也被称为“箱”。
中位数:标示出数据的“中点”。在箱线图中,中位数通常会有一条线直接连到箱体,且与箱体的中心对齐。
四分位数:标示出数据的“四分位数”,也就是将数据分为四个等份的四条线。在箱线图中,四分位数通常以“+”符号表示,且与箱体的上下边缘对齐。
须”的长度:箱线图中的“须”是两个方向向外延伸的线段,从四分位数的位置向两侧延伸。须的长度不会超过箱体的长度。
“异常值”:如果数据集中存在极端的或异常的数据点,它们会被单独标示出来,通常会以小圆圈或者是其他特殊的标记来表示。
通过观察箱线图,你可以快速了解这组数据的集中趋势、离散程度以及异常值。
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 创建数据
- np.random.seed(10)
- data = np.random.normal(100, 20, 100)
-
- # 绘制箱线图
- plt.boxplot(data)
-
- # 设置图表标题和轴标签
- plt.title('Box Plot')
- plt.xlabel('Data')
- plt.ylabel('Value')
-
- # 显示图表
- plt.show()
- import seaborn as sns
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 创建数据
- np.random.seed(10)
- data = np.random.normal(100, 20, 100)
-
- # 绘制箱线图
- sns.boxplot(x=data)
-
- # 设置图表标题和轴标签
- plt.title('Box Plot')
- plt.xlabel('Data')
- plt.ylabel('Value')
-
- # 显示图表
- plt.show()
核密度图(Kernel Density Estimate,KDE)是一种用于估计随机变量概率密度函数的非参数方法。在 Python 中,可以使用多种库来绘制核密度图,其中包括 Seaborn、Matplotlib 和 SciPy。
- import seaborn as sns
- import numpy as np
- import matplotlib.pyplot as plt
-
- # 生成示例数据
- data = np.random.normal(size=100)
-
- # 使用 Seaborn 绘制核密度图
- sns.kdeplot(data, label='KDE')
-
- # 显示图形
- plt.legend()
- plt.show()
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 生成示例数据
- data = np.random.normal(size=100)
-
- # 使用 Matplotlib 绘制核密度图
- plt.hist(data, density=True, alpha=0.5, label='KDE')
-
- # 显示图形
- plt.legend()
- plt.show()
- import numpy as np
- import matplotlib.pyplot as plt
- from scipy.stats import gaussian_kde
-
- # 生成示例数据
- data = np.random.normal(size=100)
-
- # 使用 SciPy 计算核密度估计
- kde = gaussian_kde(data)
- x_range = np.linspace(min(data) - 1, max(data) + 1, 1000)
- kde_values = kde(x_range)
-
- # 使用 Matplotlib 绘制核密度图
- plt.plot(x_range, kde_values, label='KDE')
-
- # 显示图形
- plt.legend()
- plt.show()
小提琴图(Violin plot)是一种用于显示数据分布情况的图形。它类似于箱线图,但提供了更多的信息,如数据的核密度估计和四分位数。在Python中,可以使用Seaborn库来绘制小提琴图。
- import seaborn as sns
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 生成一些随机数据
- rs = np.random.RandomState(0)
- n, p = 40, 8
- d = rs.normal(0, 2, (n, p))
- d += np.log(np.arange(1, p + 1)) * -5 + 10
-
- # 绘制小提琴图
- sns.violinplot(data=d)
-
- # 显示图形
- plt.show()
热图是一种可视化工具,用于展示二维数据集中的数据信息,其中颜色表示单元格的值。在热图中,行列的坐标是二维数据的标识符,每个单元格的颜色深浅表示其对应值的大小。通过热图,我们可以快速浏览和比较不同数据集中的数据分布和特征。
热图有多种类型,包括点热图、条形图热图、气泡热图、颜色映射热图等。其中点热图和条形图热图是最常用的热图类型之一。点热图以点的颜色来表示每个单元格的值,而条形图热图则使用条形的长度和颜色来表示每个单元格的值。
- import seaborn as sns
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 创建一个随机数据集
- data = np.random.rand(10, 12)
-
- # 创建一个热图
- heatmap = sns.heatmap(data)
-
- # 显示图形
- plt.show()
- import seaborn as sns
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 创建一个随机数据集
- data = np.random.rand(10, 12)
-
- # 创建一个热图
- heatmap = sns.heatmap(data, cmap='coolwarm')
-
- # 显示图形
- plt.show()
箭靶图,也叫做蜘蛛网图或者雷达图,是一种用于显示多变量数据的图形。它由一个中心点向外辐射出多条线段,每条线段代表一个变量,线段的长度代表该变量的数值大小。箭靶图的每个角都代表一个变量,从中心点到每个角的线段表示该变量的数值大小。箭靶图通常用于显示性能数据,如产品的性能指标、公司的财务数据等。在箭靶图中,每个变量的最大值和最小值通常被标出来,以便更好地了解每个变量的数值范围。箭靶图的主要优点是它可以同时显示多个变量的数值大小,并且可以通过线段的长度和角度来表示各个变量之间的关系。
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 创建一个新的figure
- fig, ax = plt.subplots()
-
- # 创建箭靶的外圈
- circle1 = plt.Circle((0, 0), 10, fill=False)
- circle2 = plt.Circle((0, 0), 20, fill=False)
- circle3 = plt.Circle((0, 0), 30, fill=False)
- circle4 = plt.Circle((0, 0), 40, fill=False)
- circle5 = plt.Circle((0, 0), 50, fill=False)
- circle6 = plt.Circle((0, 0), 60, fill=False)
- circle7 = plt.Circle((0, 0), 70, fill=False)
- circle8 = plt.Circle((0, 0), 80, fill=False)
-
- # 将圆添加到图中
- ax.add_artist(circle1)
- ax.add_artist(circle2)
- ax.add_artist(circle3)
- ax.add_artist(circle4)
- ax.add_artist(circle5)
- ax.add_artist(circle6)
- ax.add_artist(circle7)
- ax.add_artist(circle8)
-
- # 生成数据点
- x = 60*np.random.randn(100)
- y = 60*np.random.randn(100)
- ax.scatter(x, y, color='r', alpha=0.5)
-
- # 设置x轴和y轴的限制,使得它们的范围都是[-90, 90]
- ax.set_xlim([-90, 90])
- ax.set_ylim([-90, 90])
-
- # 添加一个标题,设置字体为SimHei解决中文无法显示的问题
- plt.title('箭靶图', fontproperties='SimHei')
-
- # 显示图形
- plt.show()
折线图是一种以线条表示数据信息的图表类型。在折线图中,数据点的相继关系通过线条的起伏和连贯性来表现。折线图通常用于显示时间序列或连续数据的变化情况。
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 定义数据
- x = np.linspace(0, 10, 100) # 在0到10之间均匀取100个点
- y = np.sin(x)
-
- # 绘制折线图
- plt.figure(figsize=(10, 6)) # 设置图形大小
- plt.plot(x, y, label='sin(x)', linewidth=2, linestyle='-', color='blue') # 绘制折线图,并设置线宽、线型和颜色
- plt.title('Sine Function') # 设置图形标题
- plt.xlabel('x') # 设置x轴标签
- plt.ylabel('y') # 设置y轴标签
- plt.xticks(np.arange(0, 11, 1)) # 设置x轴刻度
- plt.yticks(np.arange(-1, 1 + 0.2, 0.2)) # 设置y轴刻度
- plt.grid(True) # 显示网格线
- plt.legend() # 显示图例
-
- # 显示图形
- plt.show()
饼图(Pie Chart)是一种以圆形表示数据信息的图表类型,通过将圆周分割成若干个扇形,每个扇形对应一个数据项或类别,以扇形的面积或长度来表示数据量或占比。
- import matplotlib.pyplot as plt
-
- # 定义数据
- labels = ['A', 'B', 'C', 'D']
- sizes = [15, 30, 45, 10]
-
- # 绘制饼图
- plt.figure(figsize=(6, 6)) # 设置图形大小
- plt.pie(sizes, labels=labels, autopct='%1.1f%%') # 绘制饼图,并设置标签和百分比格式
-
- # 显示图形
- plt.show()
散点图(Scatter plot)是一种用于展示两个变量之间关系的图形,它用点的密度和位置来表示数据点的分布情况。在散点图中,每个点代表一个数据点,x轴和y轴分别表示两个变量,通过观察点的位置可以大致了解这两个变量之间的关系。
散点图的优点是能够直观地反映两个变量之间的关系,并且可以方便地添加其他参考线或数据集来帮助分析和预测。它的缺点是在数据点较多时,图形可能会显得比较杂乱,不易读出准确的关系。
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 定义数据
- x = np.random.randn(100)
- y = np.random.randn(100)
-
- # 绘制散点图
- plt.figure(figsize=(6, 6)) # 设置图形大小
- plt.scatter(x, y) # 绘制散点图
-
- # 显示图形
- plt.show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。