Python小实例 | 利用matplotlib画图

说在前面的话:这是学习过程中,自己参考书上的代码,结合学习的目的写出来的小程序,不保证完全的原创性,但都是好使的代码~供大家参考,互相学习,把python语言KO掉

#画图像
import scipy.misc
import matplotlib.pyplot as plt

# load already prepared ndarray from scipy
ascent=scipy.misc.ascent()#lena被移除,换成了一个楼梯图
#set the default colormap to gray
plt.gray()

plt.imshow(ascent)
plt.colorbar()
plt.show()

print (ascent.shape)
print (ascent.max())#输出图像最大值
print (ascent.dtype)#输出每个点的数据类型

在这里插入图片描述

#作图 1
import matplotlib.pyplot as pl
import numpy as np

x=np.linspace(-np.pi,np.pi,256,endpoint=True)#生成-pi到pi的,具有相同线性距离的256个点
y=np.cos(x)
y1=np.sin(x)

pl.plot(x,y)
pl.plot(x,y1)

pl.show()

在这里插入图片描述

#作图 2 是作图1的加强版

from pylab import *
# from pylab import * 这一句话就引入了numpy、matplotlib等常用库,避免了多个import语句。一句话就创造了一个非常类似matlab的编程环境。
# 即后面的plot无需加pl.plot(x,y)之类的
import numpy as np

x = np.linspace(-np.pi,np.pi,256,endpoint=True)#生成-pi到pi的,具有相同线性距离的256个点
y = np.cos(x)
y1 = np.sin(x)
plot(x, y)
plot(x, y1)

title("Function $\sin$ and $\cos$")
xlim(-3.0, 3.0)
ylim(-1.0, 1.0)
xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+pi/2$', r'+$pi$'])
yticks([-1, 0, +1], [r'$-1$', r'$0$', r'$+1$'])
# 格式化转义 字符串首尾 r'$...$' (matplotlib中)
# xticks(loc, labels): labels 格式化转义方法 r'$-\frac{\pi}{2}$' 留意分数的表示方式
# pi需要转义才能显示为字符 pai. 若$-pi$ 则直接显示-pi
# 如果没有第二个[]参数,刻度值显示如-3.142, -1.571...等浮点数,而不是-pi

show()

在这里插入图片描述

#作图 3 画的是点
import numpy as np
from matplotlib import pyplot as plt

x = np.arange(1, 11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x, y, "ob")
plt.show()

在这里插入图片描述

# 作图 4 多个图放一张图上
import numpy as np
import matplotlib.pyplot as plt
# 计算正弦和余弦曲线上的点的 x 和 y 坐标
x = np.arange(0,  3  * np.pi,  0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)
# 建立 subplot 网格,高为 2,宽为 1
# 激活第一个 subplot
plt.subplot(2,  1,  1)
# 绘制第一个图像
plt.plot(x, y_sin)
plt.title('Sine')
# 将第二个 subplot 激活,并绘制第二个图像
plt.subplot(2,  1,  2)
plt.plot(x, y_cos)
plt.title('Cosine')
# 展示图像
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值