python如何使用matplotlib画散点图使不同类别的点有不同的形状和颜色?

文章地址:https://www.chzzz.club/post/239.html

我们在使用聚类算法时,希望最后画出的散点图中,不同的类别的点拥有不同的颜色不同的形状的,但是matplotlib只能让我们使不同类别拥有不同的颜色,而对形状无能为力。下面这段代码就可以实现这个功能:

import numpy as np
import matplotlib.pyplot as plt

def mscatter(x,y,ax=None, m=None, **kw):
    import matplotlib.markers as mmarkers
    if not ax: ax=plt.gca()
    sc = ax.scatter(x,y,**kw)
    if (m is not None) and (len(m)==len(x)):
        paths = []
        for marker in m:
            if isinstance(marker, mmarkers.MarkerStyle):
                marker_obj = marker
            else:
                marker_obj = mmarkers.MarkerStyle(marker)
            path = marker_obj.get_path().transformed(
                        
### 回答1: 当您使用matplotlib绘制散点图时,可以使用参数c指定散颜色。下面是一个示例代码,使用Pythonmatplotlib绘制散点图并修改散颜色。 ```python import matplotlib.pyplot as plt # 生成数据 x = [1, 2, 3, 4, 5] y = [2, 3, 1, 5, 4] # 绘制散点图,并指定颜色 plt.scatter(x, y, c='r') # 显示图形 plt.show() ``` 在上面的代码中,我们通过调用`scatter`函数绘制了一个散点图。`scatter`函数有很多可选参数,其中`c`参数指定散颜色。在这个例子中,我们将颜色设置为红色。 如果您想使用其他颜色,可以使用字符串表示法(例如'r'表示红色)或RGB元组表示法(例如(0.5, 0.2, 0.1)表示一种深棕色)。例如,要将散颜色更改为蓝色,您可以这样做: ```python plt.scatter(x, y, c='b') ``` 您也可以根据数据的值来设置颜色。例如,如果您想根据y值设置颜色,可以使用以下代码: ```python plt.scatter(x, y, c=y) ``` 在这个例子中,我们将c参数设置为y,这意味着颜色将根据y的值而变化。由于y的值介于1到5之间,因此散颜色也将在这个范围内变化。 ### 回答2: Python使用matplotlib库可以轻松绘制散点图,并且可以通过修改颜色来增加图像的可读性美观度。 首先,我们需要导入matplotlib库中的pyplot模块,用于绘制图像。 ```python import matplotlib.pyplot as plt ``` 接下来,我们创建两个列表,分别存储散点图的横坐标纵坐标数据。 ```python x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] ``` 然后,使用scatter()函数绘制散点图。该函数的第一个参数是横坐标数据,第二个参数是纵坐标数据。 ```python plt.scatter(x, y) ``` 默认情况下,散点图上的是蓝色的。如果我们想要修改颜色,可以使用c参数指定一个颜色颜色可以是一个单个的字符、一个具体的颜色名称、或者一个表示颜色的数字。 ```python plt.scatter(x, y, c='red') ``` 此外,我们还可以使用colormap参数指定一组颜色,让散点图上的呈现渐变的色彩变化。例如,我们可以使用'cool' colormap来绘制渐变的蓝色散点图。 ```python plt.scatter(x, y, c=y, cmap='cool') ``` 最后,通过调用show()函数显示绘制好的散点图。 ```python plt.show() ``` 综上所述,以上代码示例展示了如何使用matplotlib库绘制散点图,并修改颜色。无论是单色还是渐变色,通过修改颜色可以增加图像的可读性美观度。 ### 回答3: 使用Python中的matplotlib库可以很方便地绘制散点图,并且可以通过修改颜色来实现。下面是一个示例代码: ``` import matplotlib.pyplot as plt # 输入散数据 x = [1, 2, 3, 4, 5] y = [2, 4, 5, 5, 7] # 绘制散点图 plt.scatter(x, y) # 修改颜色 colors = ['red', 'blue', 'green', 'yellow', 'purple'] # 定义颜色,这里使用了五种颜色 plt.scatter(x, y, c=colors) # 显示图形 plt.show() ``` 在上述代码中,首先定义了散点图的数据,即xy的值。然后使用`plt.scatter()`函数绘制散点图,并且没有指定颜色,因此默认使用了蓝色。接下来,定义了一个长度为5的颜色列表,每个对应一个颜色。最后,再次使用`plt.scatter()`函数,通过设置`c`参数为颜色列表,来对散点图中的进行着色。最后,使用`plt.show()`函数显示图形。 运行上述代码,将会得到一个散点图,其中每个颜色分别为红色、蓝色、绿色、黄色紫色。你也可以根据需要对颜色进行自定义。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值