Matplotlib基础绘图函数示例
Matplotlib基础绘图函数示例
pyplot基础图表函数概述
pyplot的基础坐标函数
实例一:pyplot饼图的绘制
plt.pie()
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' #每个饼块的名称
sizes = [15,30,45,10] #每个饼块的尺寸
explode = (0, 0.1, 0, 0) #0.1使得对应的饼块在饼图中以0.1的比例"突出"表示
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.lf%%',
shadow=False, startangle=90 )
#autopct 表示了中间显示百分号的方式
#shadow=False 表示饼图展现的形式为二维 即不带有阴影
#startangle=90 表示饼图起始的角度为90度
plt.show()
绘图效果:
当然,如果在某些情况下绘制出来的饼图形状较扁不符合要求,可以使用
plt.axis('equal')
这样的操作得到一个正圆饼图。
此外,如果我们希望在饼图上加标题以及更多的参数,我们还需要配置更多的语句。
实例二:pyplot直方图的绘制
plt.hist()
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
mu, sigma =100, 20
a = np.random.normal(mu, sigma, size=100)
plt.hist(a, 20, density=True, histtype='stepfilled', facecolor='b', alpha=0.75)
plt.title('Histogram')
plt.show()
plt.hist()中非常关键的一个参数:bin,表示生成的直方图中直方的个数。
#当 desity=True(图片中为normed=1,但到现在这个属性已经取消,所以我们也不再使用)时,我们将每一个直方中出现元素的个数归一化为出现的概率,所以纵坐标为一个小数比例;若desity=False,则纵坐标表示这个直方中出现的元素的个数。
实例三:pyplot散点图的绘制
面向对象绘制散点图
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
fig, ax = plt.subplots()
#我们将这个函数变成一个对象,fig,ax两个参数分别对应函数生成的图表以及图表相关的区域。
#当subplot()内的参数默认为空时,即表示绘制区域为111,此区域对应的对象为ax。
#之后我们就可以在ax中使用plot()函数绘制其中的点。
ax.plot(10*np.random.randn(100), 10*np.random.randn(100),'o')
#我们生成了100个点,之后*10,使得点在空间中的分布更加扩散
#同时我们将纵轴方向上的值也用random.randn()生成并且扩大10倍
ax.set_title('Simple Scatter')
matplotlib.rcParams['axes.unicode_minus'] =False
#这个语句使得坐标轴上可以显示负号而不是一个个的小框框
plt.show()
实例四:pyplot极坐标的绘制
面向对象绘制极坐标
import numpy as np
import matplotlib.pyplot as plt
N = 20
theta = np.linspace(0.0, 2*np.pi, N, endpoint=False)
radii = 10 * np.random.rand(N)
width = np.pi / 4*np.random.rand(N)
ax = plt.subplot(111, projection='polar')
bars = ax.bar(theta, radii, width=width, bottom=0.0)
for r, bar in zip(radii, bars):
bar.set_facecolor(plt.cm.viridis(r/10.))
bar.set_alpha(0.5)
plt.show()
具体的每行代码注释可以参考:
“其实,基于Matplotlib绘制图形并不是最关键的一步,重点在于如何将你的数据和希望通过数据展示出来的特点相结合,从而找到合适的图形与之对应,而这些都是需要经验的。这些图形的绘制和具体参数的设计,很难通过一两节课来讲清楚,不断通过例子掌握一些基本的使用方法,然后重点关注需要分析和展示的数据,然后选择出合适的图形来与之对应。”
#所有视频截图均来自中国大学mooc北京理工大学嵩天老师的课程
《Python数据分析与展示》