如何在matplotlib中替换散点图的颜色?

时间:2018-12-02 04:56:48

标签: python matplotlib

我有一个维度为2的数据点数组,其中第二维度$ 2 $对应于复数的实部和虚部。

现在,我知道数据点将与平面上的单位圆相交两次。我要实现的是:假设路径开始时会带有某种颜色,当它接触到平面上的单位圆时会变为另一种颜色,如果再次与单位圆相交则会再次更改颜色。我不确定是否容易实现。

3 个答案:

答案 0 :(得分:0)

最简单的方法可能是通过在圆交概念定义的每个点上分配不同的组,从而在图形的外部中实现逻辑。
一旦有了这些组索引,就可以使用plt.scatter(代表“颜色”)输入,这是一个简单的c

祝你好运!

答案 1 :(得分:0)

尝试以下方式

# Import matplotlib module as plt
import matplotlib.pyplot as plt
import math

x = [3,7,1,9,5,3,5,8,math.sqrt(3)/2]
y = [4,7,8,2,3,4,5,1,1/2]
# Plot scatter Plot
for i in range(len(x)):
    if (round(x[i]**2+y[i]**2,2)) == 1: # equation of unit circle is x^2+y^2=1
        plt.scatter(x[i],y[i], color ='g',marker ='.')
    else:
        plt.scatter(x[i],y[i], color ='r',marker ='*')

plt.xlabel('x')
plt.ylabel('y')
plt.xlim([0,10])
plt.ylim([0,10])
plt.title('Scatter Plot')
plt.legend()
plt.show()

enter image description here

答案 2 :(得分:0)

您可能想尝试

i.(string)

Scatter plot 1

或尝试

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

X = [1,2,3,4]
Y1 = [4,8,12,16]
Y2 = [1,4,9,16]

plt.scatter(X,Y1,color='red')
plt.scatter(X,Y2,color='blue')

plt.show()

Scatter Plot 2

您可能还希望签出此线程: Setting different color for each series in scatter plot on matplotlib