グラフを作るときはpythonでデータを作ってパワポで調整しているのだが、この記事で使うグラフをpythonで描こうとしたところ色々設定に苦労したので、メモ書きとしてコードを残ししておく。
import numpy as np import matplotlib.pyplot as plt center = 5000#中心地 spec = 150#規格 sigma = 30#ばらつき x = np.arange(1000) y = np.random.normal(center, sigma, 1000)#正規分布の乱数 USL = center + spec#規格上限 LSL = center - spec#規格下限 x_range = [0, len(x)]#x軸の4cdax_range = [0, 100]#x軸の範囲 y_range = [4700, 5300]#y軸の範囲 x_ticks = [0, len(x)] #x軸目盛 y_ticks = [5150, 5000, 4850] #y軸目盛: set_colors = {'sample':"#666666","average":"#666666", 'SL_fill':"#ffcccc", 'spines':"#999999", "labels":"#666666"} fig2 = plt.figure(figsize=(4,4))#グラフの作成 ax1 = fig2.add_subplot(111)#subplotの作成 #ロットデータ ax1.plot(x,y, color=set_colors['sample'])#サンプルのデータ #規格外の領域塗りつぶし y_fill_UL = [[max(y_range), max(y_range)], [USL,USL]] ax1.fill_between(x_range, y_fill_UL[0] ,y_fill_UL[1], facecolor=set_colors['SL_fill'], alpha=1 )#上側のグラフ塗りつぶし y_fill_LL = [[min(y_range), min(y_range)], [LSL,LSL]] ax1.fill_between(x_range, y_fill_LL[0] ,y_fill_LL[1], facecolor=set_colors['SL_fill'], alpha=1 )#下側のグラフ塗りつぶし #グラフの体裁 ax1.set_title(None, fontsize=10, fontname='meiryo', color=set_colors['labels'])#グラフタイトルなし ax1.grid(False) # (5)目盛線表示 Trueで表示される #x軸 ax1.set_xlim(x_range[0], x_range[1])#x目盛の範囲 ax1.set_xlabel(None, fontsize=15, fontname='meiryo', color=set_colors['labels']) #x軸のラベル ax1.tick_params(axis='x', labelsize=15, width=0, colors=set_colors['labels'],pad =10) #x目盛のサイズ ax1.set_xticks(x_ticks)#x軸の目盛 #y軸 ax1.set_ylim(y_range[0], y_range[1])#y目盛の範囲 ax1.set_ylabel(None, fontsize=15, fontname='meiryo', color=set_colors['labels'])#y軸のラベル ax1.tick_params(axis='y', labelsize=15, width=0 ,colors=set_colors['labels'],pad =10) #y目盛のサイズ ax1.set_yticks(y_ticks)#y軸の目盛 #枠線の設定 ax1.spines['top'].set_linewidth(0) ax1.spines['right'].set_linewidth(0) ax1.spines['left'].set_linewidth(2) ax1.spines['left'].set_color(set_colors['spines']) ax1.spines['bottom'].set_linewidth(2) ax1.spines['bottom'].set_color(set_colors['spines']) plt.show()