python描画パッケージに慣れていないはずですが、グラフの一般的な設定(実際には、それしか知らない)がわからない場合があります。たとえば、軸のフォントサイズと色の設定、タイトルのフォントの色のサイズの設定、線などです。厚み、色、絵のスタイルの設定など。これらの一般的な設定を理解すると、間違いなく写真がより美しくなります。
matplotlibの一般的な設定について具体的に説明しましょう。
私は主にこれらの機能を要約しました:
plt.style.use()関数;画像の全体的なスタイルを設定できます。 plt.style.availabelにはテーマがいくつあるかを知ることができます。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import matplotlib as mpl
print plt.style.availabel
これらのテーマのうち2つを試しました。
plt.style.use("fivethirtyeight")
data = np.random.randn(50)
plt.scatter(range(50), data)
with plt.style.context(('dark_background')):
plt.plot(np.sin(np.linspace(0,2* np.pi)),'r-o') # "r-o"赤い点が線で結ばれていることを意味します。
plt.show()
mpl.rcParams()関数。この関数は、画像の軸と、タイトルのフォントサイズ、色、幅などを設定できます。同時に、mpl.rcParams.keys()を使用して、どのような設定があるかを確認することもできます。
mpl.rcParams['xtick.labelsize']=16
mpl.rcParams["ytick.color"]='b'
plt.plot(range(50), data,'g^')
plt.show()
この図では、y軸のフォントの色とx軸のフォントサイズはrcParams()関数を使用して設定されています。同時に、ポイントのマーカーが三角形になり、色が緑色になります。
mpl.rc()関数。線の太さ、スタイル、色などを設定するために使用できます。
mpl.rc(‘lines’, linewidth=4, color=’r’, linestyle=’-.’)
plt.plot(data)
fontdict()関数;同じことを行うこともできます。
font ={'family':'monospace','weight':'bold','size':'larger','color':"r"}
plt.scatter(range(50), data)
plt.xlabel("number", fontdict=font)
font()辞書にはいくつかの種類のキーがあります:
font.family; 5つの設定があります:serif sans-serif cursive antasy monospace
font.style; 1つには3つの設定があります:通常のイタリック斜め
font.variant;通常または小文字の2つの設定があります
font.weight; 4つの設定があります:通常、太字、太字、軽量
font.stretch; 13の設定があります。
超凝縮、超凝縮、凝縮、半凝縮、通常、半拡張、拡張、超拡張、超拡張、幅広、幅狭。font.size;デフォルト値は10pt
plt.setp()関数。線の太さや色、座標軸の方向や位置を設定することもできます。
例えば:
setp(lines, ‘linewidth’, 2, ‘color’, ‘r’)
ヘルプドキュメントから例を借りるには:
import numpy as np
import matplotlib.pyplot as plt
data ={'Barton LLC':109438.50,'Frami, Hills and Schmidt':103569.59,'Fritsch, Russel and Anderson':112214.71,'Jerde-Hilpert':112591.43,'Keeling LLC':100934.30,'Koepp Ltd':103660.54,'Kulas Inc':137351.96,'Trantow-Barrows':123381.38,'White-Trantow':135841.99,'Will LLC':104437.60}
group_data =list(data.values())
group_names =list(data.keys())
group_mean = np.mean(group_data)
fig, ax = plt.subplots()
ax.barh(group_names, group_data)
labels = ax.get_xticklabels()
plt.setp(labels, rotation=45, horizontalalignment='right')
ax.set(xlim=[-10000,140000], xlabel='Total Revenue', ylabel='Company',
title='Company Revenue')
x軸座標が45°斜めに回転し、全体像がより美しくなっていることがわかります。データをさらに分析するには、次の手順を実行します。
def currency(x, pos):"""The two args are the value and tick position"""if x =1e6:
s ='${:1.1f}M'.format(x*1e-6)else:
s ='${:1.0f}K'.format(x*1e-3)return s
formatter =FuncFormatter(currency)
fig, ax = plt.subplots(figsize=(6,8))
ax.barh(group_names, group_data)
labels = ax.get_xticklabels()
plt.setp(labels, rotation=45, horizontalalignment='right')
ax.set(xlim=[-10000,140000], xlabel='Total Revenue', ylabel='Company',
title='Company Revenue')
ax.xaxis.set_major_formatter(formatter)
fig, ax = plt.subplots(figsize=(8,8))
ax.barh(group_names, group_data)
labels = ax.get_xticklabels()
plt.setp(labels, rotation=45, horizontalalignment='right')
# すべての収益の平均に基づいて垂直線を引き、どの企業が平均収益を超えているかを確認します
ax.axvline(group_mean, ls='--', color='r')
# 新しく設立された会社をマークする
for group in[3,5,8]:
ax.text(145000, group,"New Company", fontsize=10,
verticalalignment="center")
# 写真から少し距離を置いて、タイトルを少し動かします。
ax.title.set(y=1.05)
ax.set(xlim=[-10000,140000], xlabel='Total Revenue', ylabel='Company',
title='Company Revenue')
ax.xaxis.set_major_formatter(formatter)
ax.set_xticks([0,25e3,50e3,75e3,100e3,125e3])
plt.show()
これで、どの企業が新しく設立され、どの企業の収益が平均を上回っているかを直感的に確認できます。これは、その後のデータ分析と統計に非常に役立ちます。
上記のパイソン描画の一般的な設定方法は、エディターが共有するすべてのコンテンツです。参考にしてください。