这是我到目前为止的代码:
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
function=['a', 'b', 'c', 'd', 'e']
acc_scores = [0.879, 0.748, 0.984, 0.944, 0.940]
fig, ax = plt.subplots()
colors= ['b', 'r', 'g', 'c', 'y'] #Colors I wanted to use for each data point
plt.plot([1,2,3,4,5], acc_scores, 'ro')
plt.axis([0, 6, 0.5, 1])
ax.set_xlabel('Functions', size=18)
ax.set_ylabel('Accuracy', size=18)
plt.show()
这段代码给了我点数,但颜色都一样。
感谢您的帮助!
答案 0 :(得分:0)
您将所有数据绘制为一个线条图,并且它们都是相同的颜色,因为您指定了ro
。如果您希望每个点都不同,您可以遍历每个点并单独绘制它。 label
参数有助于构建图例。
试试这个:
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
function=['a', 'b', 'c', 'd', 'e']
acc_scores = [0.879, 0.748, 0.984, 0.944, 0.940]
fig, ax = plt.subplots()
colors= ['b', 'r', 'g', 'c', 'y'] #Colors I wanted to use for each data point
for x, y, c, f in zip([1,2,3,4,5], acc_scores, colors, function):
plt.scatter(x, y, c=c, label=f)
plt.axis([0, 6, 0.5, 1])
ax.set_xlabel('Functions', size=18)
ax.set_ylabel('Accuracy', size=18)
plt.legend()
plt.show()
输出