

matplotlibでy軸の特定の目盛の色を変えたいと考えています．  
ｙ軸の2,3,8の値の色を青に変えたいです．

[code]

    import matplotlib.pyplot as plt
    import matplotlib.ticker as tick
    
    plt.yticks([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
               ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"])
    
    plt.show()
    
[/code]

解決方法がわかりません．よろしくお願いします．


CC BY-SA 3.0
2016-02-02T16:56:43.367
21638
2016-02-03T01:00:44.197
2016-02-02T23:48:44.550
2521
14248
question
python matplotlib
matplotlibでy軸の特定の目盛の色を変える

[code]

    import matplotlib.pyplot as plt
    import matplotlib.ticker as tick
    
    _, labels = plt.yticks(
        [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"])
    labels[2].set_color("green")
    labels[3].set_color("yellow")
    labels[8].set_color("red")
    plt.show()
    
[/code]

`yticks()`
([matplotlib.pyplot.yticks](http://matplotlib.org/api/pyplot_api.html?highlight=yticks#matplotlib.pyplot.yticks))
は`YTick`の配列(ここでは要らないので`_`に代入)
と`Text`の配列を返すので、色を変えたい`Text`に対して`set_color()`([matplotlib.text.Text.set_color](http://matplotlib.org/api/pyplot_api.html?highlight=yticks#matplotlib.pyplot.yticks))
を呼びだせば変えられます。

提示された例では 0, 1, 2, ... と ticks が単純でしたが、そうでない場合は `Text` の `get_text()`
([matplotlib.text.Text.get_text](http://matplotlib.org/api/text_api.html?highlight=get_text#matplotlib.text.Text.get_text))
を呼び出し、tick の文字列を確認した上で色を変えたほうがいいかもしれません。


CC BY-SA 3.0
2016-02-02T21:57:35.963
21643
2016-02-03T01:00:44.197
2016-02-03T01:00:44.197
2521
2521
21638
answer