Python 代码:使用 Seaborn 绘制散点图和核密度估计曲线
这段 Python 代码演示了如何使用 Seaborn 库生成数据并绘制散点图和核密度估计曲线。
首先,代码定义了一个空列表 gen_datas 用于存储生成的数据。然后,使用循环生成 50 次数据,并将数据转换成列表形式后,统计每个列表中 -1 的个数占总个数的比例,并将结果添加到 result 列表中。最后,将 result 列表添加到 gen_datas 列表中。
接下来,代码将 gen_datas 转换成 numpy 数组 generated_data。随后,使用 Seaborn 库的 jointplot 函数绘制散点图和核密度估计曲线。设置 x 轴和 y 轴的范围为 (0,1),并使用 plt.scatter 函数绘制原始数据的散点图。
最后,通过 plt.show() 显示绘制的图形。
代码中使用了以下库和方法:
- numpy:用于处理数组数据。
- seaborn:用于绘制数据可视化图表。
- matplotlib.pyplot:用于显示图表。
代码示例:
gen_datas = []
for _ in range(50):
res = gen_data(gen_weights)
result = []
for i in range(len(res)):
result.append(res[i].tolist().count(-1) / len(res[i].tolist()))
gen_datas.append(result)
generated_data = np.array(gen_datas)
graph = sns.jointplot(x=generated_data[:,0],y=generated_data[:,1],kind='kde',ylim=(0,1),xlim=(0,1))
graph.x = X[:,0]
graph.y = X[:,1]
graph.plot_joint(plt.scatter, marker='o', c=iris_fulldata['target'], s=5)
plt.show()
代码解析:
gen_datas = []:定义一个空列表gen_datas用于存储生成的数据。for _ in range(50)::循环生成 50 次数据。res = gen_data(gen_weights):使用gen_data函数生成数据,并使用gen_weights作为参数。result = []:定义一个空列表result用于存储统计结果。for i in range(len(res))::循环遍历res列表中的每个元素。result.append(res[i].tolist().count(-1) / len(res[i].tolist())):将每个列表中 -1 的个数占总个数的比例添加到result列表中。gen_datas.append(result):将result列表添加到gen_datas列表中。generated_data = np.array(gen_datas):将gen_datas列表转换成 numpy 数组generated_data。graph = sns.jointplot(x=generated_data[:,0],y=generated_data[:,1],kind='kde',ylim=(0,1),xlim=(0,1)):使用 Seaborn 库的jointplot函数绘制散点图和核密度估计曲线。graph.x = X[:,0]:设置 x 轴的数据为X[:,0]。graph.y = X[:,1]:设置 y 轴的数据为X[:,1]。graph.plot_joint(plt.scatter, marker='o', c=iris_fulldata['target'], s=5):使用plt.scatter函数绘制原始数据的散点图,并使用c参数设置颜色。plt.show():显示绘制的图形。
总结:
这段代码演示了如何使用 Python 中的 Seaborn 库生成数据、统计数据特征,并绘制散点图和核密度估计曲线,以可视化数据分布。代码详细说明了数据生成、特征统计、绘图过程以及 Seaborn 库的使用方法。
原文地址: https://www.cveoy.top/t/topic/jO5E 著作权归作者所有。请勿转载和采集!