デフォルト設定でグラフを作成すると、軸の最小、最大の範囲は自動で設定されます。例えば、下図のように縦軸yの最小値が0にならない場合が普通です。これは、散布図や棒グラフ等で何かしら比較したい場合に、一見大きな差があるかのようなグラフの仕上がりになってしまいます。(株価のような場合はそれでも良いかもしれませんが)

そこで、下図のように縦yレンジを0スタートに変更します。
その他にも、グラフ作成テクニックとして、x軸の表示間隔を変更したり、表記を45度回転する等の方法も本コードに記載しました。

■本プログラム
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import japanize_matplotlib
def main():
x = np.linspace(0, np.pi * 3, 100)
y = np.sin(x) + 100
plt.scatter(x, y, facecolor='None', edgecolor='r')
plt.xlabel('x ラベル')
plt.ylabel('y label')
plt.legend(loc='upper right', fontsize=16, title='LEGEND')
plt.title('タイトル', loc='left', fontsize=16)
plt.tight_layout()
plt.savefig('y_default.png')
ax = plt.gca()
x_ticklabels = ax.get_xticklabels()
plt.setp(x_ticklabels, rotation=45)
tick_spacing = 3
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
y_min, y_max = ax.get_ylim()
ax.set_ylim(0, y_max)
plt.grid(False)
plt.savefig('y_0_start.png')
if __name__ == '__main__':
plt.rcParams['figure.figsize'] = (8, 6)
plt.rcParams.update({'font.size': 14})
plt.rcParams['axes.grid'] = True
main()
●グラフを日本語表記する手順は、下記を参考下さい
hk29.hatenablog.jp
以上
<広告>
リンク