matplotlib画散点图,柱状图,等高线图

散点图
T是计算颜色,不用太在意
alpha是透明度
plt.xticks(())
plt.yticks(())是隐藏坐标轴

import matplotlib.pyplot as plt
import numpy as np

n = 1024
X = np.random.normal(0, 1, n)
Y = np.random.normal(0, 1, n)

T = np.arctan2(Y, X)

plt.scatter(X, Y, s=75, c=T,alpha=0.5)
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5, 1.5)
plt.xticks(())
plt.yticks(())
plt.show()

matplotlib画散点图,柱状图,等高线图_第1张图片
画柱状图
‘%.2f’ % y 将y保留两个小数点
ha,va是对称方式的简写

n = 12
X = np.arange(n)
Y1 = (1 - X/float(n)) * np.random.uniform(0.5, 1.0, n)
Y2 = (1 - X/float(n)) * np.random.uniform(0.5, 1.0, n)

plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')
plt.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')
plt.ylim(-1.5, 1.5)
for x, y in zip(X, Y1):
    plt.text(x, y+0.05, '%.2f' % y, ha='center', va='bottom')

for x, y in zip(X, Y2):
    plt.text(x, -y-0.05, '%.2f' % y, ha='center', va='top')

matplotlib画散点图,柱状图,等高线图_第2张图片
等高线用的比较少

def f(x, y):
    return (1-x/2 + x**5 + y**3)*np.exp(-x**2-y**2)

n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
#自己理解mesh是什么。。后面都要用mesh之后的
X, Y = np.meshgrid(x, y)
#画等高线区域
plt.contourf(X, Y, f(X, Y), 8, alpha=0.75, cmap=plt.cm.hot)
#画线
C = plt.contour(X, Y, f(X, Y), 8, color='black', linewidth=.5)
#在线上增加数字
plt.clabel(C, inline=True, fontsize=10)

plt.xticks(())
plt.yticks(())
plt.show()

matplotlib画散点图,柱状图,等高线图_第3张图片

你可能感兴趣的:(matplotlib)