1、盒形图绘制:

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as nptang_data = [np.random.normal(0,std,100) for std in range(1,4)]
fig = plt.figure(figsize = (8,6))             #区域大小
plt.boxplot(tang_data,notch=False,sym='s',vert=True)
#notch=False基本形状,sym=‘s’方块,vert=True竖着画plt.xticks([y+1 for y in range(len(tang_data))],['x1','x2','x3'])
plt.xlabel('x')
plt.title('box plot')

更改盒形图颜色:

for components in bplot.keys():for line in bplot[components]:line.set_color('black')

也可以横着画,只需要vert=False:

tang_data = [np.random.normal(0,std,100) for std in range(1,4)]
fig = plt.figure(figsize = (8,6))
plt.boxplot(tang_data,notch=False,sym='s',vert=False)plt.yticks([y+1 for y in range(len(tang_data))],['x1','x2','x3'])
plt.ylabel('x')
plt.title('box plot')

当然你要实在闲着没事干,甚至可以把盒子形状改一下,notch=True。
或者更改一下盒子的颜色:

tang_data = [np.random.normal(0,std,100) for std in range(1,4)]
fig = plt.figure(figsize = (8,6))
bplot = plt.boxplot(tang_data,notch=False,sym='s',vert=True,patch_artist=True)
#patch_artist=True才可以填充颜色plt.xticks([y+1 for y in range(len(tang_data))],['x1','x2','x3'])
plt.xlabel('x')
plt.title('box plot')colors = ['pink','lightblue','lightgreen']
for pathch,color in zip(bplot['boxes'],colors):pathch.set_facecolor(color)

2、小提琴图:violinplot

fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(12,5))
tang_data = [np.random.normal(0,std,100) for std in range(6,10)]
axes[0].violinplot(tang_data,showmeans=False,showmedians=True)
axes[0].set_title('violin plot')axes[1].boxplot(tang_data)
axes[1].set_title('box plot')for ax in axes:ax.yaxis.grid(True)ax.set_xticks([y+1 for y in range(len(tang_data))])
plt.setp(axes,xticks=[y+1 for y in range(len(tang_data))],xticklabels=['x1','x2','x3','x4'])

3、对于轴的操作:

x = range(10)
y = range(10)
fig = plt.gca()                          #对轴操作
plt.plot(x,y)
fig.axes.get_xaxis().set_visible(False)       #消去轴的刻度
fig.axes.get_yaxis().set_visible(False)

4、去掉上右两轴且带网格的直方图:

import math
x = np.random.normal(loc = 0.0,scale=1.0,size=300)
width = 0.5
bins = np.arange(math.floor(x.min())-width,math.ceil(x.max())+width,width)
ax = plt.subplot(111)ax.spines['top'].set_visible(False)          #去除上轴
ax.spines['right'].set_visible(False)        #去除右轴plt.tick_params(bottom='off',top='off',left = 'off',right='off')    #消除轴上的指示线
plt.grid()            #加上网格
plt.hist(x,alpha = 0.5,bins = bins)              #hist直方图

5、轴标签:

x = range(10)
y = range(10)labels = ['godx' for i in range(10)]
fig,ax = plt.subplots()
plt.plot(x,y)
plt.title('godx')
ax.set_xticklabels(labels,rotation = 45,horizontalalignment='right')
#rotation = 45倾斜角,horizontalalignment='right'右对齐import matplotlib as mpl
mpl.rcParams['axes.titlesize'] = '10'     #更改图标题的大小

6、一个图多条曲线+图例:

x = np.arange(10)
for i in range(1,4):plt.plot(x,i*x**2,label = 'Group %d'%i)
plt.legend(loc='best')       #在图里加上图例,loc='best'放在最好的位置

也可指定其他位置upper center、lower left等

ax.legend(loc='upper center',bbox_to_anchor = (0.5,1.15) ,ncol=3)
#把图例放在图外面,上方,(0.5,1.15)表示位置,nocl=3表示横着写(3列)
ax.legend(loc='upper center',bbox_to_anchor = (1.15,1) ,ncol=1)
#ncol=1竖着写(1列)
plt.legend(loc='upper right',framealpha = 0.1)    #将图例设置为透明

7、直方图:
最简单的:

data = np.random.normal(0,20,1000)
bins = np.arange(-100,100,5)
plt.hist(data,bins=bins)
plt.xlim([min(data)-5,max(data)+5])
plt.show()

两个变量的直方图:

import random
data1 = [random.gauss(15,10) for i in range(500)]
data2 = [random.gauss(5,5) for i in range(500)]
bins = np.arange(-50,50,2.5)plt.hist(data1,bins=bins,label='class 1',alpha = 0.3)     #设置alpha可以看两组数据堆叠程度
plt.hist(data2,bins=bins,label='class 2',alpha = 0.3)
plt.legend(loc='best')                 #图例
plt.show()

8、散点图的绘制:

mu_vec1 = np.array([0,0])
cov_mat1 = np.array([[2,0],[0,2]])     #协方差矩阵x1_samples = np.random.multivariate_normal(mu_vec1, cov_mat1, 100)
x2_samples = np.random.multivariate_normal(mu_vec1+0.2, cov_mat1+0.2, 100)
x3_samples = np.random.multivariate_normal(mu_vec1+0.4, cov_mat1+0.4, 100)plt.figure(figsize = (8,6))
plt.scatter(x1_samples[:,0],x1_samples[:,1],marker ='x',color='blue',alpha=0.6,label='x1')
plt.scatter(x2_samples[:,0],x2_samples[:,1],marker ='o',color='red',alpha=0.6,label='x2')
plt.scatter(x3_samples[:,0],x3_samples[:,1],marker ='^',color='green',alpha=0.6,label='x3')
plt.legend(loc='best')
plt.show()

也可以在散点图中加入每个点的坐标:

x_coords = [0.13, 0.22, 0.39, 0.59, 0.68, 0.74, 0.93]
y_coords = [0.75, 0.34, 0.44, 0.52, 0.80, 0.25, 0.55]plt.figure(figsize = (8,6))
plt.scatter(x_coords,y_coords,marker='s',s=50)   #s=50点的大小for x,y in zip(x_coords,y_coords):plt.annotate('(%s,%s)'%(x,y),xy=(x,y),xytext=(0,-15),textcoords = 'offset points',ha='center')
#加注释,textcoords = 'offset points'加坐标,ha='center'对齐
plt.show()

离某个点越远点越大:

mu_vec1 = np.array([0,0])
cov_mat1 = np.array([[1,0],[0,1]])
X = np.random.multivariate_normal(mu_vec1, cov_mat1, 500)
fig = plt.figure(figsize=(8,6))R=X**2
R_sum=R.sum(axis = 1)plt.scatter(X[:,0],X[:,1],color='grey',marker='o',s=20*R_sum,alpha=0.5)
plt.show()

Matplotlib学习笔记3相关推荐

  1. matplotlib学习笔记(3)---热力图(Heat Map)

    matplotlib学习笔记(3)-热力图(Heat Map) import matplotlib.pylab as plt import seaborn as sns import numpy as ...

  2. 【莫烦Python】Matplotlib学习笔记(二)

    [莫烦Python]Matplot学习笔记(一) [莫烦Python]Matplotlib学习笔记(二) 一.Bar柱状图/条形图 二.Contours等高线图 三.Image图像 四.3D图像 五. ...

  3. matplotlib学习笔记 - 散点图、条形图和直方图

    Matplotlib 学习笔记 - 散点图.条形图和直方图 散点图 from matplotlib import pyplot as plt from matplotlib import font_m ...

  4. python可视化:matplotlib学习笔记

    信息可视化是数据分析的一块重要内容.这是一个探索性的过程.比如说,可以帮助我们坚定离群值,或者必要的数据转换,又或者是构建一个理想的模型.对于其他的一些领域,也可以进行web可视化.Python有许多 ...

  5. matplotlib学习笔记——入门版(超详细)

    最近才肝完的matplotlib入门教程,学习笔记顺便写上.欢迎大家在评论区补充.提问-- print('--------------------------------------------mat ...

  6. 黑马Matplotlib学习笔记

    Matplotlib学习 ​ 数据可视化是数据挖掘的关键辅助工具,可以帮助我们清晰地理解数据,从而调整数据分析的方法. 1.Matplotlib是什么? mat ----> matrix(矩阵, ...

  7. matplotlib学习笔记.CookBook

    matplotlib 是Python下的一个高质量的画图库,可以简单的类似于MATLAB方法构建高质量的图表. 原始文章地址:http://zanyongli.i.sohu.com/blog/view ...

  8. Matplotlib 学习笔记

    注:该文是上了开智学堂数据科学基础班的课后做的笔记,主讲人是肖凯老师. 数据绘图 数据可视化的原则 为什么要做数据可视化? 为什么要做数据可视化?因为可视化后获取信息的效率高.为什么可视化后获取信息的 ...

  9. Python numpy+pandas+matplotlib学习笔记

    Python numpy+pandas+matplotlib 本文是根据b站路飞学城Python数据分析全套教程的学习视频整理归纳的学习文档,主要目的是方便自己进行查阅,详细的还得去b站看原视频.另外 ...

最新文章

  1. python + ajax 实现拖动功能
  2. Ubuntu上安装nginx步骤及问题记录
  3. 信息学奥赛一本通(2032:【例4.18】分解质因数)
  4. CodeMix使用的语言和框架(六):HTML5
  5. 小学数学计算题随机出题软件
  6. 安卓笔记:去除顶部的bar(安卓5.1)
  7. EPS中编写第一个程序
  8. python写完程序怎么运行
  9. 使用Axure RP原型设计实践03,制作一个登录界面的原型
  10. 计算机硬盘格式分类,win7 下默认的硬盘分区表类型是MBR还是GUID ?-win7的硬盘格式,win7装win10硬盘格式调整...
  11. protobuf3 oneof
  12. Java读写Excel原来这么简单
  13. Lenovo笔记本各类型触控板,触摸部分只能移动无法点击的问题汇总
  14. 高中数学必修2试题:直线平面平行的判定及其性质
  15. 打开了ros中的rviz,显示不了机器人模型
  16. SAP所有模块用户出口(转)
  17. 黑客很忙:拿巨额奖金以及帮助警察蜀黍破案|宅客周刊
  18. 2021年T电梯修理考试试卷及T电梯修理证考试
  19. 如何使用Outlook的在线内联翻译功能
  20. (原創) 楚漢相爭之我見 (日記)

热门文章

  1. python实现对输入日期计算日期为当年第几天
  2. 推荐给你三个知识星球助你选对人生
  3. calamari架构与分析
  4. 抖音创作规范_抖音创作内容调整提示怎么办
  5. 软件测试工程师需要学什么?
  6. echarts组织架构图
  7. Linux(四)——CROND和磁盘分区与挂载
  8. java过滤器命名_Java命名目录接口(JNDI)教程
  9. QQ聊天记录备份助手 v1.0——搜索、备份、恢复QQ聊天记录文件,重装系统必备...
  10. R语言逻辑回归Logistic回归分析预测股票涨跌