3.2.2 目盛範囲と目盛ラベルの設定
チャートを描画するとき、座標軸のスケール範囲とスケールラベルはデータの分布、つまり座標に直接関係します。軸のスケール範囲はデータの最大値と最小値によって異なります。matplotlibで描画する際にデータを指定しなかった場合、x 軸と y 軸の範囲は両方とも 0.05 ~ 1.05 で、スケール ラベルは [-0.2, 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2] (指定されている場合)X 軸と Y 軸のデータが決定され 、データの変化に応じてスケール範囲とスケール ラベルが変わります。matplotlib は重いものを提供します座標軸のスケール範囲とスケールラベルを新規に設定する方法は別途紹介します。1. スケール範囲の設定pyplot モジュールの xlim() 関数と ylim() 関数を使用して、 x 軸と y 軸のスケール範囲をそれぞれ設定または取得します。xlim() 関数の構文形式は次のとおりです。xlim(left=なし、right=なし、emit=True、auto=False、 * 、xmin=なし、xmax=なし)この関数の共通パラメータの意味は以下のとおりです。・left : x 軸のスケール値範囲の左の桁を示します。・right : X 軸のスケール値範囲の右桁を示します。· Emit : 制限の変更をオブザーバーに通知するかどうかを示します。デフォルトは True です。auto: X 軸の自動スケーリングを許可するかどうかを示します。デフォルトは True です。xmin : x 軸スケールの最小値を示します。xmax : x 軸スケールの最大値を示します。さらに、Axes オブジェクトは set_xlim() メソッドと set_ylim() メソッドを使用して、 x 軸と y 軸のスケール範囲をそれぞれ設定できます。2. 目盛りラベルを設定するpyplot モジュールの xticks() 関数と yticks() 関数を使用して、 x 軸と y 軸の目盛り位置をそれぞれ設定または取得します。ラベルをチェックします。xticks() 関数の構文は次のとおりです。xticks(ティック=なし、ラベル=なし、 ** kwargs)この関数の Ticks パラメータは、スケールによって表示される位置のリストを示します。また、空のリストに設定して X 軸の目盛りを無効にすることもできます。度; ラベルは、指定された位置スケールのラベル リストを示します。さらに、Axes オブジェクトは set_xticks() メソッドまたは set_yticks() メソッドを使用して、それぞれ x 軸または y 軸の目盛り位置を設定できます。set_xticklabels() メソッドまたは set_yticklabels() メソッドを使用して、それぞれ x 軸または y 軸の目盛りラベルを設定します。3.2.1項で描いたサインプロットとコサインプロットに、座標軸のスケール範囲とスケールラベルを設定し、追加したコード次のように。#X 軸 のスケール範囲とスケール ラベルを設定しますplt.xlim(x.min() * 1.5, x.max() * 1.5)plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$' 、r'$0$'、r'$\pi/2$'、r'$\pi$'])プログラムを実行すると、その結果が図 3-4 に示されます。
3.2.3 例 1: 2019 年の中国映画興行収入ランキング時間に余裕があれば、映画館に映画を観に行くのも良いでしょう。最近では映画鑑賞が主流になっていますが、それは視覚的な楽しみだけでなく、人々をリラックスさせる精神的な饗宴でもあります。2019年2019年は中国で多くの評判の良い映画が公開され、各映画の興行収入を集計した結果、2019年の中国映画は映画興行収入ランキングのトップ 15 を表 3-1 に示します。
![]()
表 3-1 のデータに従って、「映画名」列のデータをy軸のスケール ラベルとして使用し、「総興行収入 (1 億元)」を設定します。
データの 1 列はスケール ラベルに対応する値として使用され、barh() を使用して 2019 年の中国映画興行収入リストのトップ 15 が描画されます。棒グラフ、棒グラフの軸のラベルと目盛りラベルを追加する場合の具体的なコードは次のとおりです。[2] では:# 01_映画_ランキングmatplotlib.pyplotをpltとしてインポートplt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams["axes.unicode_minus"] = Falseラベル = [「 ネザ: 悪魔の少年が世界にやってくる 」、「 さまよう地球 」、「 アベンジャーズ 4: エンドゲーム 」、「 クレイジー・エイリアン 」、「 フライング・スピード 」、「 ヒーローズ・オブ・ファイア 」、「 スパイダーマン :ファー ・フロム・ホーム 」、『 ワイルド・スピード スペシャル ・ オペレーション 』、『 スウィーピング・ドラッグス 2 : 対決 』、『 バンブルビー 』、『 キャプテン・マーベル 』、「 悲しいより悲しい物語 」、「 ゴジラ 2: キング・オブ・モンスターズ 」、「 アリータ : バトル・エンジェル 」、「 ギャラクシーチュートリアル 」】bar_width = [48.57, 46.18, 42.05, 21.83, 17.03, 16.70, 14.01, 13.84,12.85、11.38、10.25、9.46、9.27、8.88、8.64]y_data = range(len(ラベル))fig = plt.figure()ax = fig.add_subplot(111)ax.barh(y_data, bar_width, height=0.2, color='orange')#x軸と y 軸のラベルを設定しますax.set_xlabel(" 累計興行収入 ( 億元 )")ax.set_ylabel(" 映画名 ")#y 軸 の目盛り位置と目盛りラベルを設定しますax.set_yticks(y_data)ax.set_yticklabels(ラベル)plt.show()プログラムを実行すると、その結果が図 3-5 に示されます。
図 3-5 では、 X 軸のラベルが下部にあり、 Y 軸のラベルが左側にあります。図 3-5 からわかるように、映画「Nezha:興行収入合計では『悪魔の誕生』がトップ、『さまよえる地球』が2位、『アベンジャーズ/エンドゲーム』がトップとなった。興行収入では3位にランクインした。
3.3 タイトルと凡例の追加3.3.1 タイトルを追加するチャートのタイトルはチャートの名前を表し、通常はチャートの上部に配置され、チャートの中心に揃えられます。これにより、読者にすぐに知らせることができます。この図が何を説明しようとしているのかを理解してください。matplotlib では、pyplot モジュールの title() 関数を直接使用してグラフのタイトルを追加できます。title() 関数の構文は次のとおりです。title(label、fontdict=None、loc='center'、pad=None、 ** kwargs)この関数の共通パラメータの意味は以下のとおりです。・ label : タイトルのテキストを示します。fontdict : タイトルテキストのスタイルを制御する辞書を示します。·loc : タイトルの配置スタイルを示します。「left」、「right」、「center」の 3 つの値が含まれます。デフォルト値は「center」です。つまり、タイトルが中央に表示される。Pad : タイトルとチャートの上部の間の距離を示します。デフォルトは None です。さらに、Axes オブジェクトは、set_title() メソッドを使用してチャートのタイトルを追加することもできます。セクション 3.2.2 で描画したサインおよびコサイン プロットにタイトル「Sinusoid and Cosine Curve」を追加し、次のコードを追加します。# タイトルを追加plt.title(" サイン曲線とコサイン曲線 ")プログラムを実行すると、その結果が図 3-6 に示されます。
3.3.2 凡例の追加凡例は、グラフィックデータの各グループの識別方法を列挙したブロック図であり、凡例識別と凡例項目の 2 つの部分から構成されます。ここで、凡例マークはグラフィックの各グループを表すパターンであり、凡例項目は凡例マークに対応する名前 (説明テキスト) です。いつmatplotlib が複数のグラフィック セットを含むグラフを描画する場合、グラフに凡例を追加して、各グラフィック セットが何を表しているのかをユーザーが明確にできるようにすることができます。
意味。matplotlib では、pyplot モジュールの legend() 関数を直接使用して凡例を追加できます。また、legend() 関数の構文形式も追加できます。次のように:凡例(ハンドル、ラベル、loc、bbox_to_anchor、ncol、タイトル、シャドウ、ファンシーボックス、 * 引数、 ** kwargs)この関数の共通パラメータは次のとおりです。(1) パラメータのハンドルとラベル付けhandles パラメータはグラフィック ラベルのリストを表し、labels パラメータは凡例エントリのリストを表します。注意が必要ですハンドルとラベルのパラメータは同じ長さのリストを受け取る必要があることに注意してください。受け取ったリストの長さが異なる場合は、より長いリストが必要になります。リストは、長いリストと短いリストの長さが等しくなるように切り詰められます。(2) locパラメータloc パラメータは、チャート内の凡例の位置を制御するために使用されます。このパラメータは、文字列値と数値の両方をサポートします。これらの値の説明と対応する凡例の位置を表 3-2 に示します。
(3) bbox_to_anchor パラメータbbox_to_anchor パラメーターは凡例のレイアウトを制御するために使用され、凡例は 2 つの値を含むタプルを受け取ります。最初の値は凡例表示の水平位置を制御するために使用され、値が大きいほど、凡例の表示位置が右に移動します。2 番目の値は、凡例の表示位置を制御するために使用されます。この値は凡例の垂直位置を制御するために使用され、値が大きいほど、凡例の表示位置が高くなります。(4) ncolパラメータncol パラメータは凡例の列数を示し、デフォルト値は 1 です。(5) タイトルパラメータtitle パラメータは凡例のタイトルを示し、デフォルト値は None です。(6) シャドウパラメータシャドウパラメータは、凡例の背後に影を表示するかどうかを制御します。デフォルト値はなしです。(7) ファンシーボックスパラメータfancybox パラメータは、凡例に丸い境界線を設定するかどうかを制御します。デフォルト値は None です。
凡例に表示されるラベルが、pyplot 描画関数を使用するときに label パラメーターを通じて事前に指定されている場合、legend() 関数を直接呼び出して凡例を追加できます。凡例に適用されるラベルが事前に指定されていない場合は、legend()関数を使用する場合はパラメータのハンドルとラベルに値を渡すだけですサンプルコードは以下の通りです。ax.plot([1, 2, 3], label='インラインラベル')ax.legend()# またはax.legend((line1, line2, line3), ('label1', 'label2', 'label3'))セクション 3.3.1 で描画したサインおよびコサイン グラフに凡例を追加します。追加されたコードは次のとおりです。行 = plt.plot(x, y1, x, y2)#凡例を追加plt.legend(lines, [' サイン ', ' コサイン '], シャドウ=True, fancybox=True)プログラムを実行すると、その結果が図 3-7 に示されます。![]()
Python データ視覚化 - チャート補助要素のカスタマイズ
おすすめ
転載: blog.csdn.net/qq_43416206/article/details/132262760
おすすめ
ランキング