概述
matplotlib
Figure和Subplot
- Figure:面板(图),matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。
- Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像。
曲线图(plot)
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
# 设置在jupyter中matplotlib的显示情况 tk: 显示出来;inline: 内嵌的形式
%matplotlib tk
# 解决中文显示问题
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False
x = np.linspace(0, 10, 1000)
y = np.sin(x)
z = np.cos(x**2)
# 创建一个绘图对象(并设置画板的大小)
plt.figure(figsize=(8,4))
# 在绘图对象上绘制曲线
plt.plot(x,y,label="sin(x)",color="red",linewidth=2)
plt.plot(x,z,"g--",label="$cos(x^2)$")
#plt.plot(np.random.randn(50).cumsum(),"k--")
# label : 给所绘制的曲线一个名字,此名字在图示(legend)中显示。只要在字符串前后添加''$''符号
# color : 指定曲线的颜色
# linewidth : 指定曲线的宽度
# 第三个参数"g--"指定曲线的颜色和线型
# 设置X轴的文字
plt.xlabel("Time(s)")
# 设置Y轴的文字
plt.ylabel("Volt")
# 设置Y轴的文字偏移90度
#plt.yticks(rotation=90)
# 设置标题
plt.title("PyPlot 例子")
# 设置Y轴的范围
plt.ylim(-1.2,1.2)
# 展示图示说明(展示在左下角)
plt.legend(loc='lower left')
# 保存图示
plt.savefig("test.png",dpi=120)
# 展示图示
plt.show()
图表显示方式及曲线图
x = np.linspace(0, 10, 500)
dashes = [10, 5, 100, 5] # 10 points on, 5 off, 100 on, 5 off
fig, ax = plt.subplots() #获取子视图
# 设置子视图
line1, = ax.plot(x, np.sin(x), 'r--', linewidth=2,label='View One')
line1.set_dashes(dashes) #设置绘图曲线画笔的样式
# 设置子视图
line2, = ax.plot(x, -1 * np.sin(x), dashes=[30, 5, 10, 5], color='y',label='View Two')
# 设置曲线名字显示在右下方
ax.legend(loc='lower right')
plt.show()
条形图(bar)
bar_positions = np.arange(5) + 1
bar_heights = np.random.randint(1, 5, 5)
fig, ax = plt.subplots()
# 参数为: 柱形图之间的间距; 柱形图的高度; 柱形图的宽度
ax.bar(bar_positions, bar_heights, 0.5)
#ax.barh(bar_positions, bar_heights, 0.5) #横图
plt.show()
柱状图(hist)
cl = (255 / 255, 128 / 255, 14 / 255)
# bins:园柱的个数;alpha:透明度;range显示圆柱高度值范围
plt.hist(np.random.randint(1, 50, 50), bins=20,range=(0, 50),color=cl, alpha=0.3)
plt.show()
散点图(scatter)
N = 100
x = np.arange(N)
y = np.arange(N) + 3 * np.random.randn(N)
# marker散点的形状
plt.scatter(x,y,marker="o")
plt.show()
气泡图
N = 100
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N) * 125
# 每个气泡区域数组
area = np.pi * (15 * np.random.rand(N))**2 + 2
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()
饼状图(pie)
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' # 饼状图各个块名称
sizes = [15, 30, 45, 10] # 饼状图各个块占比
explode = (0, 0.1, 0, 0) # 15和30饼之间的间距
fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)
# shadow:是否显示阴影
# autopct:小数点位数(1.n 表示n位小数)
# startangle:饼状图旋转角度
ax1.axis('equal') # 设置纵横比相等
plt.show()
画板添加多张图
fig = plt.figure()
#在画板上添加图(在2行2列的第一个位置添加)
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 4)
plt.show()
最后
以上就是义气跳跳糖为你收集整理的Python科学计算库之matplotlibmatplotlib的全部内容,希望文章能够帮你解决Python科学计算库之matplotlibmatplotlib所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复