Python 多类散点图
我有4个集群阵列,需要在散点图中绘制。该文档显示了一个简单的X和Y绘图示例。我尝试过一些教程,但大多数都是针对数据集或数据帧的,因此我无法正确地理解如何以正确的方式绘制数据。简而言之,我试图将这4个阵列绘制为集群: [4.33976958 19.73690959.05452373 1.29938447 1.25155903 18.07181231 1.28825463 14.31906422 1.58 4.04618339 4.27626005 1.28062485 1.00079968 12.40582121 5.31973684 3.59755473 6.18436739 4.96310387 4.21620683] [1.31590273.75281228 2.5215868 1.999596 1.06376689 2.35703203 1.02449988 1.64012195 2.755431 1.35661343 6.20786598 1.26 1.18389189 2.10864886 1.81118746 1.4 1.6857046 1.23693169 1.18810774] [2.45348731 8.16029411 3.09767655 1.90784 1.23951603 8.81716508 1.08885261 3.22546121 3.85585269 1.34164079 5.62138773 1.74688294 1.20016666 1.96203975 2.9662097 1.63963411 1.69339895 1.27687118 1.34699666] [2.48386795 4.324858388 2.03381415 2.3 3.48137904 4.8340873 3.52278299 1.41421356 1.41265707 1.26743836 3.90384426 2.44532206 1.36367151 3.3346664 2.16 0.97897906 1.68534863 1.6503333 1.47837749] 我当前的代码: 将matplotlib.pyplot作为plt导入 标准列1=[4.33976958、19.73690959、9.05452373、1.29938447、1.25155903、18.07181231、1.28825463、14.31906422、1.58、4.04618339、4.27626005、1.28062485、1.00079968、12.40582121、5.31973684、3.59755473、6.18436739、4.96310387、4.21620683] 标准列2=[1.31590273、3.75281228、2.5215868、1.999596、1.06376689、2.35703203、1.02449988、1.64012195、2.755431、1.35661343、6.20786598、1.26、1.18389189、2.10864886、1.81118746、1.4、1.6857046、1.23693169、1.18810774] 标准列3=[2.45348731、8.16029411、3.09767655、1.9078784、1.23951603、8.81716508、1.08885261、3.22546121、3.85585269、1.34164079、5.62138773、1.74688294、1.20016666、1.96203975、2.9662097、1.63963411、1.69339895、1.27687118、1.34699666] 标准列4=[2.48386795、4.3248583838、2.03381415、2.3、3.48137904、4.8340873、3.52278299、1.41421356、1.41265707、1.26743836、3.90384426、2.44532206、1.36367151、3.33466664、2.16、0.97897906、1.68534863、1.650333、1.47837749] x=标准列1 y=标准列4 plt.scatterx,y,label=面簇,color='k',s=10 plt.xlabel'X' plt.ylabel'y' 标题面特征 传奇故事 节目 我希望在二维空间中绘制这4个阵列,并通过类颜色或绘制在每个簇中心的质心来区分它们。检查此代码:Python 多类散点图,python,matplotlib,data-visualization,Python,Matplotlib,Data Visualization,我有4个集群阵列,需要在散点图中绘制。该文档显示了一个简单的X和Y绘图示例。我尝试过一些教程,但大多数都是针对数据集或数据帧的,因此我无法正确地理解如何以正确的方式绘制数据。简而言之,我试图将这4个阵列绘制为集群: [4.33976958 19.73690959.05452373 1.29938447 1.25155903 18.07181231 1.28825463 14.31906422 1.58 4.04618339 4.27626005 1.28062485 1.00
import matplotlib.pyplot as plt
import numpy as np
std_colomns1 = [4.33976958,19.73690959,9.05452373,1.29938447,1.25155903,18.07181231,1.28825463,14.31906422,1.58,4.04618339,4.27626005,1.28062485,1.00079968,12.40582121,5.31973684,3.59755473,6.18436739,4.96310387,4.21620683]
std_colomns2 = [1.31590273,3.75281228,2.5215868,1.99959996,1.06376689,2.35703203,1.02449988,1.64012195,2.755431,1.35661343,6.20786598,1.26,1.18389189,2.10864886,1.81118746,1.4,1.6857046,1.23693169,1.18810774]
std_colomns3 = [2.45348731,8.16029411,3.09767655,1.9078784,1.23951603,8.81716508,1.08885261,3.22546121,3.85585269,1.34164079,5.62138773,1.74688294,1.20016666,1.96203975,2.9662097,1.63963411,1.69339895,1.27687118,1.34699666]
std_colomns4 = [2.48386795,4.32485838,2.03381415,2.3,3.48137904,4.8340873,3.52278299,1.41421356,1.41265707,1.26743836,3.90384426,2.44532206,1.36367151,3.3346664,2.16,0.97897906,1.68534863,1.6503333,1.47837749]
x = std_colomns1
y = std_colomns4
center_colomn1 = np.median(np.array(std_colomns1))
center_colomn2 = np.median(np.array(std_colomns2))
center_colomn3 = np.median(np.array(std_colomns3))
center_colomn4 = np.median(np.array(std_colomns4))
plt.plot(std_colomns1, 'ko', label="Face 1")
plt.plot(std_colomns2, 'ro', label="Face 2")
plt.plot(std_colomns3, 'go', label="Face 3")
plt.plot(std_colomns4, 'bo', label="Face 4")
plt.xlabel('X')
plt.ylabel('Y')
plt.title("Faces Features")
plt.legend()
plt.show()
它将提供这些中心:
4.27626005
1.64012195
1.9078784
2.16
这个散点图:
检查此代码:
import matplotlib.pyplot as plt
import numpy as np
std_colomns1 = [4.33976958,19.73690959,9.05452373,1.29938447,1.25155903,18.07181231,1.28825463,14.31906422,1.58,4.04618339,4.27626005,1.28062485,1.00079968,12.40582121,5.31973684,3.59755473,6.18436739,4.96310387,4.21620683]
std_colomns2 = [1.31590273,3.75281228,2.5215868,1.99959996,1.06376689,2.35703203,1.02449988,1.64012195,2.755431,1.35661343,6.20786598,1.26,1.18389189,2.10864886,1.81118746,1.4,1.6857046,1.23693169,1.18810774]
std_colomns3 = [2.45348731,8.16029411,3.09767655,1.9078784,1.23951603,8.81716508,1.08885261,3.22546121,3.85585269,1.34164079,5.62138773,1.74688294,1.20016666,1.96203975,2.9662097,1.63963411,1.69339895,1.27687118,1.34699666]
std_colomns4 = [2.48386795,4.32485838,2.03381415,2.3,3.48137904,4.8340873,3.52278299,1.41421356,1.41265707,1.26743836,3.90384426,2.44532206,1.36367151,3.3346664,2.16,0.97897906,1.68534863,1.6503333,1.47837749]
x = std_colomns1
y = std_colomns4
center_colomn1 = np.median(np.array(std_colomns1))
center_colomn2 = np.median(np.array(std_colomns2))
center_colomn3 = np.median(np.array(std_colomns3))
center_colomn4 = np.median(np.array(std_colomns4))
plt.plot(std_colomns1, 'ko', label="Face 1")
plt.plot(std_colomns2, 'ro', label="Face 2")
plt.plot(std_colomns3, 'go', label="Face 3")
plt.plot(std_colomns4, 'bo', label="Face 4")
plt.xlabel('X')
plt.ylabel('Y')
plt.title("Faces Features")
plt.legend()
plt.show()
它将提供这些中心:
4.27626005
1.64012195
1.9078784
2.16
这个散点图:
将matplotlib.pyplot作为plt导入
将numpy作为np导入
情节风格
plt.rcParams['figure.figsize']=16.0,10.0
plt.style.使用“ggplot”
创建数据列表列表
数据=[标准列1、标准列2、标准列3、标准列4]
打印数据和打印中值
对于枚举数据中的i,1:
plt.plotd,marker='.',linestyle='none',markersize=7,label=f'col_{i}'
printf'Median col{i}:{np.mediand}'
格式图
plt.xticksrange 0,19,1
plt.yticksrange 1,21,1
plt.ylabel“值”
plt.xlabel‘索引’
传奇故事
节目
备选方案:
我认为条形图可以更清楚地显示数据
我没有向dataframe添加列名,但这可以通过columns参数完成。
列=['a','b','c','d']作为示例。
作为pd进口熊猫
将matplotlib.pyplot作为plt导入
情节风格
plt.rcParams['figure.figsize']=16.0,10.0
plt.style.使用“ggplot”
创建数据列表列表
数据=[标准列1、标准列2、标准列3、标准列4]
创建数据帧
df=pd.DataFramelistzip*数据
打印中位数
统计数据=df.agg[‘中值’、‘平均值’]
printstats
0 1 2 3
中位数4.276260 1.640122 1.907878 2.160000
平均数6.222731.993142 2.875864 2.425034
情节
df.plot.bar
格式图
plt.xticksrotation=0
plt.yticksrange 1,21,1
plt.ylabel“值”
plt.xlabel‘索引’
传奇故事
节目
将matplotlib.pyplot作为plt导入
将numpy作为np导入
情节风格
plt.rcParams['figure.figsize']=16.0,10.0
plt.style.使用“ggplot”
创建数据列表列表
数据=[标准列1、标准列2、标准列3、标准列4]
打印数据和打印中值
对于枚举数据中的i,1:
plt.plotd,marker='.',linestyle='none',markersize=7,label=f'col_{i}'
printf'Median col{i}:{np.mediand}'
格式图
plt.xticksrange 0,19,1
plt.yticksrange 1,21,1
plt.ylabel“值”
plt.xlabel‘索引’
传奇故事
节目
备选方案:
我认为条形图可以更清楚地显示数据
我没有向dataframe添加列名,但这可以通过columns参数完成。
列=['a','b','c','d']作为示例。
作为pd进口熊猫
将matplotlib.pyplot作为plt导入
情节风格
plt.rcParams['figure.figsize']=16.0,10.0
plt.style.使用“ggplot”
创建数据列表列表
数据=[std_colo]
mns1、std_柱S2、std_柱S3、std_柱S4]
创建数据帧
df=pd.DataFramelistzip*数据
打印中位数
统计数据=df.agg[‘中值’、‘平均值’]
printstats
0 1 2 3
中位数4.276260 1.640122 1.907878 2.160000
平均数6.222731.993142 2.875864 2.425034
情节
df.plot.bar
格式图
plt.xticksrotation=0
plt.yticksrange 1,21,1
plt.ylabel“值”
plt.xlabel‘索引’
传奇故事
节目
下面是另一种可能性,显示了4个方框图: 将matplotlib.pyplot作为plt导入 将numpy作为np导入 标准列1=[4.33976958,19.73690959,9.05452373,1.29938447,1.25155903,18.07181231,1.28825463,14.31906422,1.58,4.04618339,4.27626005,1.28062485,1.00079968,12.40582121,5.31973684,3.59755473,6.18436739,4.96310387,4.21620683] 标准列2=[1.31590273,3.75281228,2.5215868,1.999596,1.06376689,2.35703203,1.02449988,1.64012195,2.755431,1.35661343,6.2078698,1.26,1.18389189,2.10864886,1.81118746,1.4,1.6857046,1.23693169,1.18810774] 标准列3=[2.45348731,8.16029411,3.09767655,1.9078784,1.23951603,8.81716508,1.08885261,3.22546121,3.85585269,1.34164079,5.62138773,1.74688294,1.20016666,1.96203975,2.9662097,1.63963411,1.69339895,1.27687118,1.34699666] 标准列4=[2.48386795,4.3248583838,2.03381415,2.3,3.48137904,4.8340873,3.52278299,1.41421356,1.41265707,1.26743836,3.90384426,2.445362206,1.36367151,3.33466664,2.16,0.97897906,1.68534863,1.650333,1.47837749] plt.箱线图[std_柱1、std_柱2、std_柱3、std_柱4],位置=范围4 plt.xticksticks=range4,标签=['std_columns1'、'std_columns2'、'std_columns3'、'std_columns4'] 节目 或者,使用海洋生物和熊猫,您可以绘制小提琴图或群图: 将matplotlib.pyplot作为plt导入 作为pd进口熊猫 导入seaborn作为sns df=pd.DataFrame{'std_columns1':std_columns1,'std_columns2':std_columns2, “std_columns3”:std_columns3;“std_columns4”:std_columns4} sns.violinplotdata=df 节目 在左侧sns.violinplotdata=df处,在右侧sns.swamplotdata=df处:
下面是另一种可能性,显示了4个方框图: 将matplotlib.pyplot作为plt导入 将numpy作为np导入 标准列1=[4.33976958,19.73690959,9.05452373,1.29938447,1.25155903,18.07181231,1.28825463,14.31906422,1.58,4.04618339,4.27626005,1.28062485,1.00079968,12.40582121,5.31973684,3.59755473,6.18436739,4.96310387,4.21620683] 标准列2=[1.31590273,3.75281228,2.5215868,1.999596,1.06376689,2.35703203,1.02449988,1.64012195,2.755431,1.35661343,6.2078698,1.26,1.18389189,2.10864886,1.81118746,1.4,1.6857046,1.23693169,1.18810774] 标准列3=[2.45348731,8.16029411,3.09767655,1.9078784,1.23951603,8.81716508,1.08885261,3.22546121,3.85585269,1.34164079,5.62138773,1.74688294,1.20016666,1.96203975,2.9662097,1.63963411,1.69339895,1.27687118,1.34699666] 标准列4=[2.48386795,4.3248583838,2.03381415,2.3,3.48137904,4.8340873,3.52278299,1.41421356,1.41265707,1.26743836,3.90384426,2.445362206,1.36367151,3.33466664,2.16,0.97897906,1.68534863,1.650333,1.47837749] plt.箱线图[std_柱1、std_柱2、std_柱3、std_柱4],位置=范围4 plt.xticksticks=range4,标签=['std_columns1'、'std_columns2'、'std_columns3'、'std_columns4'] 节目 或者,使用海洋生物和熊猫,您可以绘制小提琴图或群图: 将matplotlib.pyplot作为plt导入 作为pd进口熊猫 导入seaborn作为sns df=pd.DataFrame{'std_columns1':std_columns1,'std_columns2':std_columns2, “std_columns3”:std_columns3;“std_columns4”:std_columns4} sns.violinplotdata=df 节目 在左侧sns.violinplotdata=df处,在右侧sns.swamplotdata=df处: