鸢尾花的可视化(散点图、小提琴图、以及pyearchs平行坐标图)

本文主要是介绍鸢尾花的可视化(散点图、小提琴图、以及pyearchs平行坐标图),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、鸢尾花散点图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd# 数据准备
from sklearn import datasetsiris = datasets.load_iris()
x, y = iris.data, iris.target
pd_iris = pd.DataFrame(np.hstack((x, y.reshape(150, 1))),columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class'])
print(pd_iris)
plt.figure(dpi=150)  # 设置图的分辨率# plt.style.use('Solarize_Light2')  # 使用Solarize_Light2风格绘图 橘色加白色网格线
# plt.style.use('seaborn-white')  #风格为全白
plt.style.use('seaborn')  #风格为浅蓝色加白色网格线iris_type = pd_iris['class'].unique()  # 根据class列将点分为三类,获得三种类型[0. 1. 2.]
print(iris_type)iris_name = iris.target_names  # 获取每一类的名称
# print(iris_name)#['setosa' 'versicolor' 'virginica']colors = ['#c72e29', '#098154', '#fb832d']  # 三种不同颜色
markers = ['$\clubsuit$', 'o', '^']  # 三种不同图形 #$\clubsuit$  ♣形状  '^'为三角形状for i in range(len(iris_type)):plt.scatter(pd_iris.loc[pd_iris['class'] == iris_type[i], 'sepal_length'],  # 传入数据xpd_iris.loc[pd_iris['class'] == iris_type[i], 'sepal_width'],  # 传入数据ys=50,  # 散点图形(marker)的大小c=colors[i],  # marker颜色marker=markers[i],  # marker形状# marker=matplotlib.markers.MarkerStyle(marker = markers[i],fillstyle='full'),#设置marker的填充alpha=0.8,  # marker透明度,范围为0-1facecolors='r',  # marker的填充颜色,当上面c参数设置了颜色,优先cedgecolors='none',  # marker的边缘线色linewidths=1,  # marker边缘线宽度,edgecolors不设置时,该参数不起作用label=iris_name[i])  # 后面图例的名称取自labelplt.legend(loc='upper right')
plt.show()

说明其中代码难点

#取出setosa组的子dataFrame 而且全是setosa类别
setosa=pd_iris[pd_iris['class'] == iris_type[0]]
# print(setosa)

#pd.loc[行,列],在行的选择中引入了条件选取
B=pd_iris.loc[pd_iris['class'] == iris_type[0], 'sepal_length'] 
# print(B)

散点图如下:

 二、鸢尾花的箱型图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd# 数据准备
from sklearn import datasetsiris = datasets.load_iris()
x, y = iris.data, iris.target
pd_iris = pd.DataFrame(np.hstack((x, y.reshape(150, 1))),columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class'])
print(pd_iris)
plt.figure(dpi=150)  # 设置图的分辨率
plt.style.use('seaborn-white')  #风格为全白color_list=["#D1B6E1",'#30A9DE','#58C9B9','#9DC8C8']
lables=['sepal_length', 'sepal_width', 'petal_length', 'petal_width']f=plt.boxplot(pd_iris[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']],labels=['sepal_length', 'sepal_width', 'petal_length', 'petal_width'],patch_artist=True,sym='o',#异常值的形状showbox=True,showmeans = True,widths=0.2)for box, c in zip(f['boxes'], color_list):  # 对箱线图设置颜色box.set(color=c, linewidth=2)box.set(facecolor=c)# 这里设置的是各个box的其他属性
for whisker in f['whiskers']: #设置箱型图的端点与箱子的连接线whisker.set(color='r', linewidth=0.5)
for cap in f['caps']:  #设置箱型图的端点线cap.set(color='g', linewidth=1)
for median in f['medians']:  #设置medians线median.set(color='DarkBlue', linewidth=1)
for flier in f['fliers']:flier.set(marker='o', color='y', alpha=0.5)
for means in f['means']:means.set(color='black')plt.title('my boxplot')
plt.show()

箱型图如下:

三、鸢尾花的小提琴图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns# 数据准备
from sklearn import datasetsiris = datasets.load_iris()
x, y = iris.data, iris.target
pd_iris = pd.DataFrame(np.hstack((x, y.reshape(150, 1))),columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class'])
print(pd_iris)
plt.figure(dpi=150)  # 设置图的分辨率
plt.style.use('seaborn-white')  #风格为全白label = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
font_1 = {"size": 14}sns.violinplot(data =pd_iris[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']])
plt.xlabel("category", font_1)
plt.ylabel("Length or width", font_1)
plt.xticks(ticks = [0, 1, 2 ,3], labels = label, fontsize = 11)
plt.yticks(fontsize = 12)
plt.show()

小提琴图如下:

四、鸢尾花的平行坐标图

from pyecharts import options as opts
from pyecharts.charts import Parallel
import pandas as pd#读数据
result=pd.read_csv('iris.csv')
print(result)
#分组,按照花的类型分组
A=result[result['species']=='setosa']
B=result[result['species']=='versicolor']
C=result[result['species']=='virginica']
print(result['sepal_length'].max())
#Iris-setosa的数据
data1=[]
for a in range(0,len(A)):   # 计算列表A的长度,进行循环切片data1.append(A.values.tolist()[a][0:])
#Iris-versicolor的数据
data2=[]
for b in range(0,len(B)):data2.append(B.values.tolist()[b][0:])
#Iris-virginica的数据
data3=[]
for c in range(0,len(C)):data3.append(C.values.tolist()[c][0:])
#输出数据看数据的形式是否正确
print(data1,'\n',data2,'\n',data3)c = (     Parallel().add_schema([opts.ParallelAxisOpts(dim=0, name="sepal length",is_scale=True ,min_=4,max_=8),opts.ParallelAxisOpts(dim=1, name="sepal width",is_scale=True,min_=2,max_=4.5),opts.ParallelAxisOpts(dim=2, name="petal length",is_scale=True,min_=1,max_=7),opts.ParallelAxisOpts(dim=3, name="petal width",is_scale=True,min_=0,max_=2.5),#自动划分范围is_scale=Trueopts.ParallelAxisOpts(dim=4,  name="分类", type_="category",data=["setosa", "versicolor", "virginica"]),]).add("setosa", data1).add("versicolor", data2).add("virginica", data3).set_global_opts(title_opts=opts.TitleOpts(title="Parallel cordlnate plot, Fisher's iris data",pos_top="top",pos_right="center"),legend_opts=opts.LegendOpts( pos_top="bottom",pos_right="center"),yaxis_opts=opts.AxisOpts(min_='dataMin',max_="dataMax")).render("parallel.html")
)

平行坐标图如下:

这篇关于鸢尾花的可视化(散点图、小提琴图、以及pyearchs平行坐标图)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/405295

相关文章

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

基于SSM+Vue+MySQL的可视化高校公寓管理系统

系统展示 管理员界面 宿管界面 学生界面 系统背景   当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业

「大数据分析」图形可视化,如何选择大数据可视化图形?

​图形可视化技术,在大数据分析中,是一个非常重要的关键部分。我们前期通过数据获取,数据处理,数据分析,得出结果,这些过程都是比较抽象的。如果是非数据分析专业人员,很难清楚我们这些工作,到底做了些什么事情。即使是专业人员,在不清楚项目,不了解业务规则,不熟悉技术细节的情况下。要搞清楚我们的大数据分析,这一系列过程,也是比较困难的。 我们在数据处理和分析完成后,一般来说,都需要形成结论报告。怎样让大

11Python的Pandas:可视化

Pandas本身并没有直接的可视化功能,但它与其他Python库(如Matplotlib和Seaborn)无缝集成,允许你快速创建各种图表和可视化。这里是一些使用Pandas数据进行可视化的常见方法: 1. 使用Matplotlib Pandas中的plot()方法实际上是基于Matplotlib的,你可以使用它来绘制各种基本图表,例如折线图、柱状图、散点图等。 import pandas

【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)「首先来看看目前已有的资料,还会不断更新哦~一次购买,后续不会再被收费哦,保证是全网最全资源,随着后续内容更新,价格会上涨,越早购买,价格越低,让大家再也不需要到处买断片资料啦~💰💸👋」�

使用matplotlib绘制散点图、柱状图和饼状图-学习篇

一、散点图 Python代码如下: num_points = 100x = np.random.rand(num_points) #x点位随机y = np.random.rand(num_points) #y点位随机colors = np.random.rand(num_points) #颜色随机sizes = 1000 * np.random.rand(num_points) # 大

Python利用pyecharts实现数据可视化

小编会持续更新知识笔记,如果感兴趣可以三连支持。闲来无事,水文一篇,不过上手实践一下倒还是挺好玩的,这一块知识说不定以后真可以尝试拿来做数据库的报表显示。         有梦别怕苦,想赢别喊累。 目录 前言 JSON数据格式的转换 pyecharts简介和入门使用 前言       小编我今天闲来无事,打算学习一下py,结果你猜怎么着,竟然看到py可以将数据

【mysql zeppelin】zeppelin 大数据可视化分析工具安装教程精要

Apache Zeppelin是一款大数据分析和可视化工具,可以让数据分析师在一个基于Web页面的笔记本中,使用不同的语言,对不同数据源中的数据进行交互式分析,并对分析结果进行可视化的工具。下面我们主要讲解如何安装和配置的精要部分。 一、zeppelin 安装和配置登录用户 官方网站: https://zeppelin.apache.org/ 下载地址: https://zeppelin

【R语言可视化】R语言画爱心图

数学系也可以很浪漫~~ rm(list=ls())library(grid)heart <- function(lcolor){t=seq(0, 2*pi, by=0.1)x=16*sin(t)^3y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)a=(x-min(x))/(max(x)-min(x))b=(y-min(y))/(max(y)-min(y))g