一、ax.scatter参数
在使用ax.scatter函数的时候,需要了解一些常用的参数,这些参数可以帮助我们更好地使用这个函数。
首先是x和y参数。它们分别代表了在散点图中点的横坐标和纵坐标,一般是一个数组或者列表。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
plt.scatter(x, y)
plt.show()
图中展示了使用x和y参数来绘制散点图的效果。
除此之外,还有一些其他的重要参数,如c、s、alpha、marker等等。
c参数指定了点的颜色,可以是一个数组或者列表。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
colors = np.array([0, 10, 20, 30, 40])
plt.scatter(x, y, c=colors, cmap='viridis')
plt.colorbar()
plt.show()
图中展示了使用c参数来指定点的颜色的效果。
s参数指定了点的大小,可以是一个单独的值,也可以是一个数组或者列表。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
sizes = np.array([20, 50, 100, 200, 500])
plt.scatter(x, y, s=sizes)
plt.show()
图中展示了使用s参数来指定点的大小的效果。
alpha参数指定了点的透明度,取值范围为0-1。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
sizes = np.array([20, 50, 100, 200, 500])
alphas = np.array([0.1, 0.3, 0.5, 0.7, 1])
plt.scatter(x, y, s=sizes, alpha=alphas)
plt.show()
图中展示了使用alpha参数来指定点的透明度的效果。
marker参数指定了点的形状,可以是一个单独的值,也可以是一个数组或者列表。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
markers = ['o', 's', '^', 'D', 'v']
plt.scatter(x, y, marker=markers)
plt.show()
图中展示了使用marker参数来指定点的形状的效果。
二、ax.scatter中的紫色怎么设置
在使用ax.scatter函数的时候,经常会遇到设置紫色的需求,那么我们可以如何实现呢?
其实,紫色是RGB颜色模式中的一种。RGB颜色模式通常指的是由红、绿、蓝三种颜色光以不同的亮度混合而成的颜色。
在RGB颜色模式中,紫色可以表示为(128, 0, 128),这里的三个数字分别代表红色、绿色、蓝色的亮度值,取值范围是0-255。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
colors = np.zeros((len(x), 3))
colors[:, 0] = 128
colors[:, 2] = 128
plt.scatter(x, y, c=colors/255)
plt.show()
图中展示了如何使用RGB颜色模式中的(128, 0, 128)来设置紫色。
三、ax.scatter函数的其他用法
除了上面提到的常用参数外,ax.scatter函数还有很多其他用法。
例如,我们可以使用ax.scatter函数来绘制多个不同大小、不同颜色的点集。
import matplotlib.pyplot as plt
import numpy as np
x1 = np.random.rand(10)
y1 = np.random.rand(10)
s1 = np.random.randint(20, 200, 10)
c1 = np.random.rand(10, 3)
x2 = np.random.rand(10)
y2 = np.random.rand(10)
s2 = np.random.randint(20, 200, 10)
c2 = np.random.rand(10, 3)
fig, ax = plt.subplots()
ax.scatter(x1, y1, s=s1, c=c1, label='set 1')
ax.scatter(x2, y2, s=s2, c=c2, marker='s', label='set 2')
ax.legend()
plt.show()
图中展示了如何使用ax.scatter函数来绘制多个不同大小、不同颜色的点集。
除了绘制一般的散点图外,ax.scatter函数还可以用于绘制三维散点图。
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
x = np.random.rand(50)
y = np.random.rand(50)
z = np.random.rand(50)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z)
plt.show()
图中展示了如何使用ax.scatter函数来绘制三维散点图。
ax.scatter函数还可以用于绘制长度不同的线条。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 20)
y = np.sin(x)
fig, ax = plt.subplots()
s = np.linspace(0, 1, len(x))
for i in range(len(x) - 1):
ax.plot([x[i], x[i+1]], [y[i], y[i+1]], color=plt.cm.viridis(s[i]))
ax.scatter(x, y, s=50, c=s, cmap='viridis')
plt.show()
图中展示了如何使用ax.scatter函数来绘制长度不同的线条。
原创文章,作者:FIDG,如若转载,请注明出处:https://www.506064.com/n/142874.html