sklearn provides some introductory data sets, a typical example is the iris database, can be three categories of spend by four parameters, we use the first three parameters as xyz coordinates, you can basically tell these data points in space distribution codes, and the results are shown below. It can be used directly after installation of the dependent packages.
Source code is as follows:
from sklearn import datasets
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Scatter3D
from pyecharts.faker import Faker
iris = datasets.load_iris()
iris_df = pd.DataFrame({
'x0':[iris.data[i][0] for i in range(len(iris.data))],
'x1':[iris.data[i][1] for i in range(len(iris.data))],
'x2':[iris.data[i][2] for i in range(len(iris.data))],
'x3':[iris.data[i][3] for i in range(len(iris.data))],
'type':iris.target
})
#典型的DataFrame数据筛选操作(方括号内的布尔表达式)
df_type0=iris_df[iris_df.type==0]
df_type1=iris_df[iris_df.type==1]
df_type2=iris_df[iris_df.type==2]
data_type0=[[df_type0.x0.iloc[i],df_type0.x1.iloc[i],df_type0.x2.iloc[i]] for i in range(df_type0.shape[0])]
data_type1=[[df_type1.x0.iloc[i],df_type1.x1.iloc[i],df_type1.x2.iloc[i]] for i in range(df_type1.shape[0])]
data_type2=[[df_type2.x0.iloc[i],df_type2.x1.iloc[i],df_type2.x2.iloc[i]] for i in range(df_type2.shape[0])]
def scatter3d_base() -> Scatter3D:
# data = [data_type0,data_type1,data_type2]
c = (
Scatter3D()
.add("", data_type0)
.add("", data_type1)
.add("", data_type2)
.set_global_opts(
title_opts=opts.TitleOpts("Iris Classification"),
# visualmap_opts=opts.VisualMapOpts(range_color=Faker.visual_color),
# visualmap_opts=opts.VisualMapOpts(range_color=['#313695','#ffffbf','#a500226']),
# visualmap_opts=opts.VisualMapOpts(range_color='#313695'),
# visualmap_opts=opts.VisualMapOpts(range_color=['#ff0000','#00ff00','#0000ff']),
)
)
return c
iris_scatter3d = scatter3d_base()
iris_scatter3d.render()