pylot绘图基础

官方pylot基础
对数轴和其他非线性轴
图标的位置说明

# Pyplot教程
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import NullFormatter  


"""对数轴和其他非线性轴
np.random.seed(19680801) # 1.控制重复数值

y = np.random.normal(loc=0.5, scale=0.4, size=1000) # 2.因为这里要分给四个子图
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))

plt.figure()

# linear
plt.subplot(221)
plt.plot(x, y)
plt.yscale('linear')
plt.title('linear')
plt.grid(True)


# log
plt.subplot(222)
plt.plot(x, y)
plt.yscale('log')
plt.title('log')
plt.grid(True)


# symmetric log
plt.subplot(223)
plt.plot(x, y - y.mean())
plt.yscale('symlog', linthreshy=0.01)
plt.title('symlog')
plt.grid(True)

# logit
plt.subplot(224)
plt.plot(x, y)
plt.yscale('logit')
plt.title('logit')
plt.grid(True)

# plt.gca()获取当前子图 并控制主刻度或小刻度标注的格式:没有格式
plt.gca().yaxis.set_minor_formatter(NullFormatter())
plt.subplots_adjust( # 调整子图布局
	top=0.92, bottom=0.08, 
	left=0.10, right=0.95, 
	hspace=0.25,wspace=0.35)

plt.show()
"""




"""添加注释文字
ax = plt.subplot(111)
t = np.arange(0.0, 5.0, 0.01)
s = np.cos(2*np.pi*t)
line, = plt.plot(t, s, lw=2)
plt.annotate(# 注释文字
    'local max', xy=(2, 1), xytext=(3, 1.5),
    arrowprops=dict(facecolor='black', shrink=0.05),)
plt.ylim(-2, 2)
plt.show()
"""



"""在画板内添加文本提示
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)

n, bins, patches = plt.hist(x, 50, density=1, facecolor='g', alpha=0.75)

plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')# 在某位置设置文本
plt.axis([40, 160, 0, 0.03]) # [xmin, xmax, ymin, ymax] 用来限制的
plt.grid(True)
plt.show()
"""



"""同一块画板,画多个图
names = ['group_a', 'group_b', 'group_c']
values = [1, 10, 100]

plt.figure(figsize=(9, 3))

plt.subplot(131)
plt.bar(names, values)
plt.subplot(132)
plt.scatter(names, values)
plt.subplot(133)
plt.plot(names, values)
plt.suptitle('Categorical Plotting')
plt.show()
"""





"""散点图
data = {'a': np.arange(50),
        'c': np.random.randint(0, 50, 50),
        'd': np.random.randn(50)}
data['b'] = data['a'] + 10 * np.random.randn(50)
data['d'] = np.abs(data['d']) * 100

plt.scatter('a', 'b', c='c', s='d', data=data)
plt.xlabel('entry a')
plt.ylabel('entry b')
plt.show()
"""

"""折线图或画点图
#plt.plot([1, 2, 3, 4]) # 画点,默认用线连接(第一种方式)

#plt.plot([1, 2, 3, 4], [1, 4, 9, 16])# 画点,默认用线连接(第二种方式)

#plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') # 不用线连接,显示红色的点(第三种方式)
#plt.axis([0, 6, 0, 20]) # [xmin, xmax, ymin, ymax] 用来限制的

#t = np.arange(0., 5., 0.2) # 显示不同颜色和形状(第四种方式)
#plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')


plt.show()
"""
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值