Python 在数字线和颜色上绘制数据
我有两个列表Python 在数字线和颜色上绘制数据,python,matplotlib,data-visualization,Python,Matplotlib,Data Visualization,我有两个列表predictedY,其中包含从0到1的n元素,以及unlabelledY,其中包含n元素1或0 我希望在数字行上绘制predictedY的值,如果unlabeledY中的对应元素为1,则将其涂成红色,否则将其涂成黑色 我该怎么做 predictedY =[0.456,0.962,0.231] UnlabelledY=[0,1,0] 您可以使用seaborn图书馆的。查看df的group属性。其余部分应遵循评论 import matplotlib.pyplot as plt imp
predictedY
,其中包含从0到1的n
元素,以及unlabelledY
,其中包含n
元素1或0
我希望在数字行上绘制predictedY
的值,如果unlabeledY
中的对应元素为1,则将其涂成红色,否则将其涂成黑色
我该怎么做
predictedY =[0.456,0.962,0.231]
UnlabelledY=[0,1,0]
您可以使用seaborn图书馆的。查看
df
的group
属性。其余部分应遵循评论
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
# creating dataframe. y is zeros since you want to plot on x-axis. Also len(x) should be equal to len(y)
df = pd.DataFrame({"x":np.array(predictedY),"y":np.zeros(len(predictedY)), "group":np.array(UnlabelledY)})
# fit_reg=False will not draw a horizontal line(which is the regression line)
sns.lmplot(data=df, x="x", y="y", hue="group", fit_reg=False)
plt.ylim(-0.05, 1) # for proper formatting.
plt.show()
使用散点图,可以提供
UnlabelledY
作为颜色参数。选择合适的颜色映射(在这种情况下,例如使用vmin=-2
“hot\r”)可以获得您选择的颜色
import numpy as np
import matplotlib.pyplot as plt
predictedY =[0.456,0.962,0.231]
UnlabelledY=[0,1,0]
plt.scatter(predictedY, np.zeros_like(predictedY),
c=UnlabelledY, cmap="hot_r", vmin=-2)
plt.yticks([])
plt.show()