2016-09-09 11 views
0

私は、x軸上のすべての目盛が異なる色を持つmatplotlib(python 3.5)で散布図を作成しようとしています。これはどのように可能ですか?Matplotlib:異なる色のすべての目盛

たとえば、x-tickが「Mo」、「Tu」、「We」、「Th」、「Fr」、「Sa」、「Su」であるとします。 は今、私は「火」は青であることを、「Moは」グリーンになりたい、電気ショック療法...ここ

は私のコードの非常にシンプルなバージョンです:

from matplotlib import pyplot as plt 
plt.figure(figsize=(16, 11)) 
x = [1, 2, 3, 4, 5, 6, 7] 
y = [10, 12, 9, 10, 8, 11, 10] 
plt.scatter(x, y) 
plt.xticks(x, ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']) 
plt.show() 

私はすでに

my_colors = ['c', 'b', 'r', 'r', 'g', 'k', 'b'] 
plt.xticks(x, ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], color=my_colors) 
を試してみました

しかし、それは動作しません。

答えて

2

.set_color()を使用して、目盛りラベルを(plt.gca().get_xticklabels()を使用して)ループし、作成後に色を設定することができます。たとえば:

from matplotlib import pyplot as plt 
plt.figure(figsize=(16, 11)) 
x = [1, 2, 3, 4, 5, 6, 7] 
y = [10, 12, 9, 10, 8, 11, 10] 
plt.scatter(x, y) 
plt.xticks(x, ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']) 

my_colors = ['c', 'b', 'r', 'r', 'g', 'k', 'b'] 

for ticklabel, tickcolor in zip(plt.gca().get_xticklabels(), my_colors): 
    ticklabel.set_color(tickcolor) 

plt.show() 

enter image description here

+0

ありがとうございました!完璧に動作します。 –

関連する問題