Matplotlib画图系列(一)简易线形图及散点图

1.线型图

效果图

这里写图片描述

源码

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('seaborn-whitegrid')# 图中网格

x=np.linspace(0,10,100)
plt.plot(x,np.sin(x-0),color='b',linestyle='-',linewidth=1)
plt.plot(x,np.sin(x-1),color='g',linestyle='--',linewidth=2)
plt.plot(x,np.sin(x-2),color='r',linestyle='-.',linewidth=3)
plt.plot(x,np.sin(x-3),color='y',linestyle=':',linewidth=4)

plt.xlim(0,10)# 设置x轴范围
plt.ylim(-1.1,1.1)# 设置y轴范围
plt.title("A Sine-type Curve",color='g')# 图像名称,颜色,字体大小
plt.xlabel('x',fontsize=20,color='r')#同上
plt.ylabel('y',fontsize=20)# 同上
plt.show()

2.设置标签,刻度

效果图
这里写图片描述

如果在同一张图中有多条曲线,默认会设置不同的颜色

源码

x=np.linspace(0,10,100)
plt.plot(x,np.sin(x),'-',label='sin(x)',linewidth=2)
plt.plot(x,np.cos(x),':',label='cos(x)',linewidth=2)
# '-' ':' '-.' '--'
plt.legend(loc='lower left')# 标签位置 loc 有如下参数值
    #upper right
    #upper left
    #lower left
    #lower right
    #right
    #center left
    #center right
    #lower center
    #upper center
    #center
plt.show()

3.散点图

3.1用plot画散点图

这里写图片描述


x = np.linspace(0,10,55)

plt.plot(x,np.sin(x-0),'o',label='o',markerfacecolor='r',markersize=5,markeredgecolor='gray',markeredgewidth=2)

plt.legend(numpoints=3,loc='right') # 改变numpoints看看变化就知道其作用
plt.xlim(0,12)
plt.show()

其中第3行,plot()中的第三个参数,表示散点的形状;其有如下:
这里写图片描述

x = np.linspace(0,10,35)

plt.plot(x,np.sin(x-0),'o',label='o')
plt.plot(x,np.sin(x-1),'.',label='.')
plt.plot(x,np.sin(x-2),'s',label='s')
plt.plot(x,np.sin(x-3),'v',label='v')
plt.plot(x,np.sin(x-4),'<',label='<')
plt.plot(x,np.sin(x-5),'d',label='d')
#  'o' ',' '.' 'x' '+' 'v' '^' '<' '>' 's' 'd' 'p'
plt.legend(numpoints=3,loc='right')
plt.xlim(0,12)
plt.show()

3.1用plot在线型图上添加散点

这里写图片描述

x = np.linspace(0,10,35)
plt.plot(x,np.sin(x-0),'-s',linewidth=1,markersize=10,markerfacecolor='r',
         markeredgecolor='b',markeredgewidth=2)
plt.plot(x,np.sin(x-1),'--<',linewidth=1,markersize=7,markerfacecolor='y',
         markeredgecolor='black',markeredgewidth=1)
plt.show()
#linewidth=1  线宽
#markersize=10  散点大小
#markerfacecolor='r' 散点颜色
#markeredgecolor='b' 散点边缘颜色
#markeredgewidth=2 散点边缘大小

3.3用scatter画散点图

效果图
这里写图片描述

scatter与plot的主要差别在于,前者在穿件散点图时具有更高的灵活性,可以单独控制每个散点与数据匹配,也可以让每个散点具有不同的属于(大小,表面颜色,边框色等).

x=np.linspace(1,10,26)
plt.scatter(x,np.sin(x),marker='d',s=45,c='none',edgecolors='r')
plt.show()

这里写图片描述

rng=np.random.RandomState(0)
x=rng.randn(100)
y=rng.randn(100)
colors=rng.randn(100)
sizes=1000*rng.randn(100)
plt.scatter(x,y,c=colors,s=sizes,alpha=0.83,cmap='hsv')# alpha 控制透明度
#cmap='bone' 'cool' 'hot' 'flag' 'binary' 'hsv' 'jet' 'prism' 'spring' 'viridis'
plt.colorbar()
plt.show()

这里写图片描述

from sklearn.datasets import load_iris
iris=load_iris()
features=iris.data


plt.scatter(features[:,0],features[:,1],alpha=0.5,s=100*features[:,3],c=iris.target,
            cmap='viridis')
plt.xlabel(iris.feature_names[0])
plt.ylabel(iris.feature_names[1])
plt.show()

散点图可以让我们同时看到不同维度的数据:每个点的坐标值分别表示花的长度和宽度,而点的大小表示花瓣的宽度,三种颜色对应三种不同类型的花.

1.各个示例中的效果,大多都可以结合起来使用;
2.函数的很多参数都有默认值,即使用时可以不用赋值;

猜你喜欢

转载自blog.csdn.net/the_lastest/article/details/79828638