python – 散点图中的单个alpha值
作者:互联网
我想知道是否可以使用Matplotlib的散射函数为每个点绘制单独的alpha值.我需要绘制一组点,每个点都有一个alpha值.
例如,我有这个代码来绘制一些点
def plot_singularities(points_x, p, alpha_point, file_path):
plt.figure()
plt.scatter(points_x, points_y, alpha=alpha_point)
plt.savefig(file_path + '.png', dpi=100)
plt.close()
我的所有points_x,points_y和alpha_point都有n个值.但是,我不能将数组分配给scatter()中的alpha参数.如何为每个点设置不同的alpha值?我可以使用每个特定的alpha值循环和逐点绘制,但这似乎不是一个好方法.
解决方法:
tcaswell的建议是正确的,你可以这样做:
import numpy as np
import matplotlib.pylab as plt
x = np.arange(10)
y = np.arange(10)
alphas = np.linspace(0.1, 1, 10)
rgba_colors = np.zeros((10,4))
# for red the first column needs to be one
rgba_colors[:,0] = 1.0
# the fourth column needs to be your alphas
rgba_colors[:, 3] = alphas
plt.scatter(x, y, color=rgba_colors)
plt.show()
标签:scatter-plot,python,matplotlib,alpha 来源: https://codeday.me/bug/20191003/1850923.html