这段 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()

代码解析:

  1. gen_datas = []:定义一个空列表 gen_datas 用于存储生成的数据。
  2. for _ in range(50)::循环生成 50 次数据。
  3. res = gen_data(gen_weights):使用 gen_data 函数生成数据,并使用 gen_weights 作为参数。
  4. result = []:定义一个空列表 result 用于存储统计结果。
  5. for i in range(len(res))::循环遍历 res 列表中的每个元素。
  6. result.append(res[i].tolist().count(-1) / len(res[i].tolist())):将每个列表中 -1 的个数占总个数的比例添加到 result 列表中。
  7. gen_datas.append(result):将 result 列表添加到 gen_datas 列表中。
  8. generated_data = np.array(gen_datas):将 gen_datas 列表转换成 numpy 数组 generated_data
  9. graph = sns.jointplot(x=generated_data[:,0],y=generated_data[:,1],kind='kde',ylim=(0,1),xlim=(0,1)):使用 Seaborn 库的 jointplot 函数绘制散点图和核密度估计曲线。
  10. graph.x = X[:,0]:设置 x 轴的数据为 X[:,0]
  11. graph.y = X[:,1]:设置 y 轴的数据为 X[:,1]
  12. graph.plot_joint(plt.scatter, marker='o', c=iris_fulldata['target'], s=5):使用 plt.scatter 函数绘制原始数据的散点图,并使用 c 参数设置颜色。
  13. plt.show():显示绘制的图形。

总结:

这段代码演示了如何使用 Python 中的 Seaborn 库生成数据、统计数据特征,并绘制散点图和核密度估计曲线,以可视化数据分布。代码详细说明了数据生成、特征统计、绘图过程以及 Seaborn 库的使用方法。

Python 代码:使用 Seaborn 绘制散点图和核密度估计曲线

原文地址: https://www.cveoy.top/t/topic/jO5E 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录