首先,来看常用的基础API:
1、解决中文乱码,防止方块化
plt.rcParams[“font.sans-serif”]=”SimHei”
2、解决负号不能正常显示的问题
plt.rcParams[“axes.unicode_minus”]=False
3、在jupyter notebook上面显示图片
%matplotlib inline
4、作图使用svg格式显示更为清晰
%config InlineBackend.figure_format=”svg”
5、设置画布大小
plt.figure(figsize=(16,8)) #长为16,宽为8
6、创建子图
fig=plt.figure()
fig.add_subplot(3,2,2) #3X2的第2个图形
或者plt.subplot(3,2,2) #3X2的第2个图形
7、作图函数
折线图plot():
一个变量随时间变化的趋势关系。
条形图bar() 水平条形图barh():
分类变量或者离散变量的数量的多少。
散点图scatter():
因变量随自变量而变化的大致趋势。
饼图pie():
分类变量的占比分布。
箱线图boxplot():
一组数据分散情况。
直方图hist()
一个连续变量(定量变量)的概率分布的估计。
如下,均可通过help()命令查看API,用到什么查什么:
8、标题:plt.title()
9、x轴、y轴的标题:plt.xlabel() plt.ylabel()
10、x轴、y轴刻度:plt.xticks() plt.yticks()
11、x轴、y轴范围:plt.xlims() plt.ylims()
12、添加数据标签:plt.text()
13、添加注释:plt.annotate()
14、添加图例:plt.legend()
15、添加数据表:plt.table()
16、网格显示:plt.grid()
17、结果展示:plt.show()
Matplotlib绘制散点图
散点图的API: help(plt.scatter)
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)
常用参数解释:
x,y:表示即将绘制散点图的数据点
s:是一个可选的参数。
c:表示的是颜色,也是一个可选项。
marker:表示的是标记的样式,默认的是’o’。
alpha:实数,0-1之间。
x=np.random.rand(50)
y=np.random.rand(50)
colors=np.random.rand(50) #颜色随机
area=(20*np.random.rand(10))**2 #散点的大小随机
fig=plt.figure(figsize=(10,5))
plt.subplot(1,1,1)
plt.scatter(x,y,s=area,marker=”o”,c=colors)
#设置标题
plt.title(“plot of scatter for x to y”,fontdict={‘fontsize’:20,’color’:’blue’},loc=’center’)
# 设置x轴和y轴的轴标题
plt.xlabel(“x for x in range(50)”,fontdict={‘fontsize’:10,’color’:’blue’})
plt.ylabel(“y for y in range(50)”,fontdict={‘fontsize’:10,’color’:’blue’})
# 添加图例
# plt.legend(‘xfory’)
# 添加数字标签
for a,b in zip(x,y):
plt.text(round(a,2),round(b,2),round(b,2),ha=”center”,va=’top’,fontdict={‘fontsize’:7,’color’:’black’})
plt.xlim(0,1) #x轴的坐标轴取值范围
# 给坐标A添加标注A(x10,y10)
plt.annotate(“A(x,y)”,xy=(x[10],y[10]),fontsize=15)
效果图如下
解读:
1、colors=np.random.rand(50):给定颜色变化
c=colors改为c=”red”,则所有的点颜色都是单一一种颜色:红色
2、area=(20*np.random.rand(10))**2:给定每个点的大小变化
s=area 改为s=100或者特定数字,则所有点的大小一样
3、plt.title、plt.xlabel() 、plt.ylabel中字体的设置,给到自定义字典
fontdict={‘fontsize’:20,’color’:’blue’}
4、plt.text():设置数值标签
添加数字标签 固定写法,字体属性给定指定字典fontdict
for a,b in zip(x,y):
plt.text(a,b,b,,ha=”center”,va=’top’,fontdict={‘fontsize’:7,’color’:’black’})
你已经掌握的一部分散点图的基础。不加标签,不设置标题的裸图,貌似清爽好看了些。。。
原文链接:
https://mp.weixin.qq.com/s/5zq7A74WQygdMV1CUY2wzw
还有好多干货,实战案例:
关注公众号,都在里面!
https://www.jianshu.com/p/0ed799faaa4a