我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本文以上一篇文章中获得鸢尾花数据集的每列数据为基础,分离出每列数据后,将利用这些数据基于pythonplot画散点图出来。通过鸢尾花数据间的不同对比,试图找出一些数据间的规律。

苏南大叔:以鸢尾花数据为例,python代码如何利用plot画散点图? - plot散点图
以鸢尾花数据为例,python代码如何利用plot画散点图?(图2-1)

大家好,这里是苏南大叔的程序如此灵动博客,记录苏南大叔的程序所学所想。本文测试环境:win10python@3.11.0pandas@1.5.3numpy@1.24.2matplotlib@3.7.1。本文的散点图仅仅是个最简单的例子,后续将继续进行完善。

获得每列数据

这里对获取数据,分离每列数据的代码快速带过,具体的解释,可以参考:

import pandas as pd
import numpy as np

data_url = "http://download.tensorflow.org/data/iris_training.csv"
# data_url = "iris.csv"
column_names = ["萼长", "萼宽", "瓣长", "瓣宽", "种类"]
df_iris = pd.read_csv(data_url, header=0, names=column_names)

column_0 = np.array(df_iris["萼长"])
column_1 = np.array(df_iris["萼宽"])
column_2 = np.array(df_iris["瓣长"])
column_3 = np.array(df_iris["瓣宽"])
column_4 = np.array(df_iris["种类"])

散点图数据来源和结论

分析的目的是对某两项表现项目进行分析,目前一共有四个项目维度(前四列数据)可以分析,分别是:

中文英文
花萼长度Sepal Length
花萼宽度Sepal Width
花瓣长度Petal Length
花瓣宽度Petal Width

得出的结论是:
第五列数据鸢尾花种类(Iris Species),分别是:山鸢尾、变色鸢尾和维吉尼亚鸢尾,'setosa'、'versicolor' 和 'virginica'。

画散点图【以前两列为坐标】

这里是以前两列数据(萼长/萼宽)为横纵坐标,画散点图的。(前四列数据任意两列组合,都可以画散点图)

data_x = column_0  # 换成其它列数据也行
data_y = column_1  # 换成其它列数据也行
data_z = column_4

data_z就是鸢尾花分类的ndarray一维数组,它里面一共有0/1/2三种取值,分别对应于cmap中的blue/red/green颜色设置,按照顺序一一对应。

import matplotlib.pyplot as plt
fig = plt.figure("iris data", figsize=(15, 15))
plt.title("Sepal Length * Sepal Width Graph")
plt.suptitle("the graph suptitle\nblue:setosa,red:versicolor,green:virginica")
plt.xlabel("Sepal Length")
plt.ylabel("Sepal Width")
# plt.scatter(data_x, data_y)
q1 = plt.scatter(data_x, data_y, c=data_z, cmap="brg")
plt.show()

苏南大叔:以鸢尾花数据为例,python代码如何利用plot画散点图? - 散点图范例
以鸢尾花数据为例,python代码如何利用plot画散点图?(图2-2)

最终展示的这个图,并不是个通常意义上的图片,而是一个动态的组件程序,里面的各个子组件之间是可以根据实际情况进行动态调整的。那么,如何获得图片呢?除了点击这套程序界面下方的保存为图片的按钮外,还可以通过代码来获得一张截图,这个留作后文的伏笔。

这些参数都比较好理解,值得特别说明的是:

  • 画布尺寸参数figsize的单位是英寸。
  • scatter()ccmap,控制了散点的颜色。brg的意思就是blue/red/green。不传这两个参数的话,就统一显示默认的蓝色圆点。
  • c参数会影响后续的legend()图例的显示功能。

相关链接

结束语

本文中仅仅画了一个最简单的散点图,横坐标是花萼的长度,纵坐标是花萼的宽度,使用了默认圆点的不同颜色来区分不同的鸢尾花种类。在后续的文章里面,将对这个散点图不断进行调整。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    plot