グラフパラメーター

Python の matplotlib モジュールを利用して描いたグラフに対して、軸の色、座標ラベルの色や凡例の文字の色を変更したりすることができる。matplotlib.pyplot を利用して描いたグラフをカスタマイズすることで、グラフをよりきれいに見せることができる。

import matplotlib
import matplotlib.pyplot as plt


# data
x = [[1, 2, 3, 4, 5, 6, 7, 8],
     [1, 2, 3, 4, 5, 6, 7, 8],
     [1, 2, 3, 4, 5, 6, 7, 8]]
y = [[2.2, 4.3, 5.9, 8.8, 10.4, 11.2, 13.3, 16.5],
     [1.9, 3.2, 6.3, 7.9, 10.0, 13.3, 14.4, 17.0],
     [2.2, 3.7, 6.1, 8.1,  9.4, 12.6, 13.0, 15.7]]
sample_names = ['Sample 1', 'Sample 2', 'Sample 3']
cols = ['#729ECE', '#FF9E4A', '#67BF5C']

# plot
##fig = plt.figure(figsize = (5, 5), dpi = 96)
ax = fig.add_subplot(111)
for i in range(len(x)):
    ax.plot(x[i], y[i], marker = '.', linestyle = '-', color = cols[i], label = sample_names[i])


# x and y lables
ax.set_title('Scatter plot')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.xaxis.label.set_color('#555555')
ax.yaxis.label.set_color('#555555')


# axis color
ax.spines['top'].set_color('#555555')
ax.spines['bottom'].set_color('#555555')
ax.spines['left'].set_color('#555555')
ax.spines['right'].set_color('#555555')
ax.tick_params(axis = 'x', colors ='#555555')
ax.tick_params(axis = 'y', colors = '#555555')


# legend color
axlegend = ax.legend(loc = 2, frameon = True, fontsize = 'medium', fancybox = True, numpoints = 1)
axlegend.get_frame().set_edgecolor('#CFCFCF')
axlegend.get_frame().set_alpha(0.8)
for axtext in axlegend.get_texts():
    axtext.set_color('#555555')


# grid line
ax.xaxis.grid(True, which = 'major', linestyle = '-', color = '#CFCFCF')
ax.yaxis.grid(True, which = 'major', linestyle = '-', color = '#CFCFCF')
ax.set_axisbelow(True)


##plt.savefig('pyplotlib_legend_1.png', format = 'png')
pyplot によるグラフ,軸の色やラベルの色の調整
ax.xaxis.label.set_colorx 軸ラベルのテキストの色。
ax.yaxis.label.set_colory 軸ラベルのテキストの色。
ax.spinesプロットエリアを囲む枠線の色。
ax.tick_paramsx 座標および y 座標の目盛り。
ax.legendグラフの凡例を表示。凡例エリアの枠線と透明度はそれぞれ set_edgecolorset_alpha で指定する。また、凡例のテキストの色は get_texts により得られたオブジェクトに対して set_color を適用する。fancybox = True を指定することで、凡例エリアの枠線が丸角になる。
ax.yaxis.gridy 軸に垂直なグリッドを制御するメソッド
ax.xaxis.gridx 軸に垂直なグリッドを制御するメソッド
ax.set_axisbelowTrue を設定すると、グラフのグリッドがプロットした点や線の下に隠れる。