擅长:python、mysql、java
<p>所以我想出了这个方法,效果很好:</p>
<pre><code>from matplotlib import colors as mcolors
import random
list_of_clusters= list(set(klabels))
colors = list(mcolors.CSS4_COLORS.keys())
random.shuffle(colors)
fig=plt.figure(figsize=(13,9),frameon=True,facecolor='lightgrey', edgecolor='black')
ax = fig.add_subplot(1,1,1)
plt.axis()
plt.xlim([-2.5, 0.2])
plt.ylim([-0.7, 3.3])
plt.xlabel("log PhiZ")
plt.ylabel("log RQI")
for i in list_of_clusters:
plt.scatter(
logphizlogrqi[klabels == i, 0], logphizlogrqi[klabels == i, 1],
s=10,
marker='8',
label=i+1,
color=colors[i]
)
ax.yaxis.tick_right()
ax.yaxis.set_label_position('right')
ax.yaxis.set_ticks_position('right')
plt.legend(scatterpoints=1, loc='center left',bbox_to_anchor=(-0.4, 0.5))
plt.show()
</code></pre>
<p>结果如下所示:
<a href="https://i.stack.imgur.com/rxqzd.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/rxqzd.png" alt=""/></a></p>