1.散布塗装
まず、第1導入略記matplotlib.pyplot PLT、再導入numpyのモジュールは、いくつかのランダムなデータを生成します。なお、100は、データセット、データセットの画像のような標準的な正規分布(平均0、分散1)の二次元データセットを生成しました。各点の色値がTで表されます。
import matplotlib.pyplot as plt
import numpy as np
X = np.random.normal(0,1,100) #高斯分布(均值为0,方差为1,100个样本)
Y = np.random.normal(0,1,100)
T = np.arctan2(Y,X) #反正切函数,返回的是弧度
plt.scatter(X,Y,s=50,c=T,alpha=.8) #alpha为透明度
plt.xlim(-3,3)
plt.ylim(-3,3)
plt.xticks(()) #参数为空代表隐藏x轴坐标
plt.yticks(())
plt.show()
位置、大きさ= 50 X及びY入力は、色はT、デフォルト値を使用してカラーマップであり、透明度は80%のアルファです。X軸の表示範囲(3,3)を配置し、X座標軸、Y軸共感を非表示にXTICK()関数で洗浄しました。示すように、結果:
棒グラフを描く2
データ10を生成し、Xは0から9までの整数であり、Yは、対応する均一に分布したランダムデータです。この関数は、plt.barを使用して、パラメータXとY
ここでは、色と値を最適化します。色にEdgeColorを設けのFaceColor本体は白に境界線の色を設定します
長手底VA =「ボトム」と整列し、次の我々は、小数点以下2桁%.2fと、plt.text関数値の上方にそれぞれ列を追加する横HA =「中央」を中心:
import matplotlib.pyplot as plt
import numpy as np
X = np.arange(10)
Y = (1-X/float(10))*np.random.uniform(0.5,1.0,10) #从均匀分布中随机采样(上界、下界、样本输出数目)
plt.bar(X,Y,facecolor='pink',edgecolor='white')
for x,y in zip(X,Y):
plt.text(x+0.05,y+0.02,'%.2f' % y,ha='center',va='bottom')
plt.xlim(-.5,10)
plt.ylim(0,1.0)
plt.xticks(())
plt.yticks(())
plt.show()
図3の輪郭
データ三次元点(x、y)と対応する高さ値、100点の合計のセット。生成された関数f(x、y)を用いて、高さの値。X、Yは、区間[3,3]内にあるが一様に100の値を分散し、各関数meshgrid各xおよび二次元平面内の各Y、織布グリッドに関連付けされています。
次に、塗りつぶしの色。リストに追加された色を用いてPlt.contourf機能、位置パラメータは、X、Y、F(X、Y)。透明0.75、およびF(X、Y)に対応する色を見つけるために、暖かいカラーマップに値セットに対応します。
次に、輪郭描画を行います。機能をスクライブ使用plt.contour。位置パラメータ:X、Y、F(X、Y)。黒色は、0.5から、線幅が選択されます。図8は、輪郭線の強度を表し、ここでは、10個の部分に分割されます。それが0であれば、画像は2つに分割されています。
最後にラベル、オンライン塗装内部インラインコントロールラベルかどうか、フォントサイズ10に参加します。そして、座標軸を隠します:
import matplotlib.pyplot as plt
import numpy as np
def f(x,y):
return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 -y**2)
x = np.linspace(-3,3,100)
y = np.linspace(-3,3,100)
X,Y = np.meshgrid(x,y)
plt.contourf(X,Y,f(X,Y),6,alpha=.75,cmap=plt.cm.cool) #添加颜色进去
C = plt.contour(X,Y,f(X,Y),6,colors='black',linewidth=.5) #画轮廓
plt.clabel(C, inline=True, fontsize=10)
plt.xticks(())
plt.yticks(())
plt.show()
4.image图
import matplotlib.pyplot as plt
import numpy as np
a = np.arange(9).reshape((3,3)) #构造3x3矩阵
plt.imshow(a, interpolation='nearest',cmap='bone',origin='upper') #升序打印不同值的颜色
plt.colorbar(shrink=.95) #颜色棒缩放为原来的95%
plt.xticks(()) #隐藏x坐标轴
plt.yticks(()) #隐藏y坐标轴
plt.show()
5.図3Dビデオ
matplotlibの導入に加えて、だけでなく、3Dプロット、すなわち軸立体3Dディスプレイ軸を行う追加の第1のモジュールを追加します。
次は、XとYの値を供給し、XおよびYは、格子状に織られています。我々は次の関数を用いて計算点に対応する各高さ値(X、Y)。
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D #导入3D显示模块
fig = plt.figure() #定义一个图像窗口
ax = Axes3D(fig) #在窗口上添加3D坐标轴
X = np.arange(-3,3,0.1)
Y = np.arange(-3,3,0.1)
X,Y = np.meshgrid(X,Y) #将 X 和 Y 编织成栅格
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R) #z轴
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow')) #横纵坐标跨度为1
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap=plt.get_cmap('rainbow')) #投影到z=-2处
ax.set_zlim(-2,2)
plt.show()