python数据可视化plt库实例详解
作者:_____________' 发布时间:2022-11-30 21:23:28
标签:python,可视化,数据,plt库
先看下jupyter和pycharm环境的差别
左边是jupyter----------------------------------------------------------右边是pycharm
以下都是使用pycharm环境
1.一个窗口画出一个线性方程
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 从0到1,个数为11的等差数列
print(x)
y = 2*x
plt.plot(x,y)
plt.show()
2.两个窗口分别画出一个线性方程
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 从0到1,个数为11的等差数列
y1 = 2*x
y2 = 3*x
# 一个figure就是一个窗口
plt.figure()
plt.plot(x,y1)
# 一个figure就是一个窗口
plt.figure()
plt.plot(x,y2)
# 显示
plt.show()
3.一个窗口画出两个线性方程
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 从0到1,个数为11的等差数列
y1 = 2*x
y2 = 3*x
# 一个figure就是一个窗口
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2)
# 显示
plt.show()
4.定义画图的样式
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 从0到1,个数为11的等差数列
y = 2*x
# 一个figure就是一个窗口
plt.figure(num=1)
plt.plot(x,y)
plt.figure(num=2)
# color是线条的颜色
plt.plot(x,y,color='red')
plt.figure(num=3)
# linestyle 是线条的样式
plt.plot(x,y,linestyle='--')
plt.figure(num=4)
# linewidth 是线条的宽度
plt.plot(x,y,linewidth=3)
# 显示
plt.show()
5.设置xy轴的范围,标签,刻度
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 从0到1,个数为11的等差数列
y = 2*x
plt.figure(num=1)# 这里是figure1
plt.plot(x,y)
plt.figure(num=2)# 这里是figure2
plt.plot(x,y)
plt.xlim(0,3)# 设置x轴范围
plt.ylim(0,3)# 设置y轴范围
plt.xlabel('this is x')# 设置x轴标签
plt.ylabel('this is y')# 设置y轴标签
plt.figure(num=3)# 这里是figure3
plt.plot(x,y)
# 设置x轴刻度
x_ticks = np.linspace(1,3,3)
plt.xticks(x_ticks)
plt.figure(num=4)# 这里是figure4
plt.plot(x,y)
plt.ylim(0,3)# 设置y轴范围
plt.yticks([1,2],['bad','good'])# 设置y轴刻度
# 显示
plt.show()
6.设置图例
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 从0到1,个数为11的等差数列
y1 = 2*x
y2 = 3*x
plt.figure()
plt.plot(x,y1,label='y1')
plt.plot(x,y2,label='y2')
plt.legend()
# 显示
plt.show()
7.散点图
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randint(0,50,1024)
y = np.random.randint(0,50,1024)
plt.scatter(x,y,s=20)
# 隐藏 x 轴刻度
plt.xticks(())
# 显示
plt.show()
8.柱状图
import numpy as np
import matplotlib.pyplot as plt
n = 6
x = np.arange(n)
print(x)
# 生成6个数,这6个数在0到1正态分布
y = np.random.uniform(0,1,n)
print(y)
plt.bar(x,y)
# 显示
plt.show()
9.柱状图显示高度
import numpy as np
import matplotlib.pyplot as plt
n = 6
X = np.arange(n)
Y = np.random.uniform(0,1,n)
plt.figure(num=1)
plt.bar(X,Y)
for x,y in zip(X,Y):
plt.text(x,y,y)
plt.figure(num=2)
plt.bar(X,Y)
for x,y in zip(X,Y):
plt.text(x,y,"%.2f"%y)
plt.figure(num=3)
plt.bar(X,Y)
for x,y in zip(X,Y):
plt.text(x,y,"%.2f"%y,ha='center')
plt.figure(num=4)
plt.bar(X,Y)
for x,y in zip(X,Y):
plt.text(x,y+0.01,"%.2f"%y,ha='center')
# 显示
plt.show()
10.等高线图
import numpy as np
import matplotlib.pyplot as plt
def f(X,Y):
return X+Y
n = 256
x = np.linspace(0,3,n)
y = np.linspace(0,3,n)
X,Y=np.meshgrid(x,y)
plt.figure()
plt.contourf(X,Y,f(X,Y),4,cmap=plt.cm.hot)
plt.figure()
plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot)
plt.figure()
plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot)
plt.contour(X,Y,f(X,Y),9)
plt.figure()
plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot)
C = plt.contour(X,Y,f(X,Y),9)
plt.clabel(C,inline=True)
# 显示
plt.show()
11.一个窗口多个子图
import matplotlib.pyplot as plt
plt.figure()
# 两行两列的第一个位置,不加逗号也可以
plt.subplot(2,2,1)
plt.plot([0,1],[0,1])
# 两行两列的第二个位置,不加逗号也可以
plt.subplot(2,2,2)
plt.plot([0,2],[0,2])
# 两行两列的第三个位置,不加逗号也可以
plt.subplot(223)
plt.plot([0,3],[0,3])
# 两行两列的第四个位置,不加逗号也可以
plt.subplot(224)
plt.plot([0,4],[0,4])
plt.figure()
# 两行两列的第一个位置,不加逗号也可以
plt.subplot(2,1,1)
plt.plot([0,1],[0,1])
# 两行两列的第二个位置,不加逗号也可以
plt.subplot(2,3,4)
plt.plot([0,2],[0,2])
# 两行两列的第三个位置,不加逗号也可以
plt.subplot(235)
plt.plot([0,3],[0,3])
# 两行两列的第四个位置,不加逗号也可以
plt.subplot(236)
plt.plot([0,4],[0,4])
# 显示
plt.show()
12.常用子图显示
plt.figure(figsize=(20,10))
for i in range(40):
plt.subplot(4,10,i+1)
plt.xticks()
plt.yticks()
plt.grid(False)
plt.imshow(train_images[i],cmap=plt.cm.binary_r)
plt.title(train_labels[i])
plt.show()
13.格子布局放置子图
import matplotlib.pyplot as plt
plt.figure()
# 三行三列的布局,从0行0列开始,占一行三列
ax1 = plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1)
ax1.plot([0,1],[0,1])
ax1.set_title('this is ax1')
# 三行三列的布局,从1行0列开始,占一行两列
ax2 = plt.subplot2grid((3,3),(1,0),colspan=2,rowspan=1)
# 三行三列的布局,从1行2列开始,占两行一列
ax3 = plt.subplot2grid((3,3),(1,2),colspan=1,rowspan=2)
# 三行三列的布局,从2行0列开始,占一行一列
ax4 = plt.subplot2grid((3,3),(2,0),colspan=1,rowspan=1)
# 三行三列的布局,从2行1列开始,占一行一列
ax5 = plt.subplot2grid((3,3),(2,1),colspan=1,rowspan=1)
# 显示
plt.show()
来源:https://blog.csdn.net/u011250160/article/details/117923221


猜你喜欢
- 【OpenCV】⚠️高手勿入! 半小时学会基本操作 ⚠️ 分水岭算法概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大.
- 在这个教材中,我们假定你已经安装了Scrapy。假如你没有安装,你可以参考这个安装指南。我们将会用开放目录项目(dmoz)作为我
- 如果你是pytorch的用户,可能你会很熟悉pytorch生态圈中专门预处理图像数据集的torchvision库。从torchtext这个名
- 形式pandas.Series(data=None, index=None, dtype=None,&nbs
- 一个日历控件,这是官方说明,,供大家参考,具体内容如下首先引入css样式<!--引入bootstrap 和bootstrap-date
- PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。PyQt5本身拥有超过620个类和60
- 本文实例讲述了Python with语句上下文管理器。分享给大家供大家参考,具体如下:在编程中会经常碰到这种情况:有一个特殊的语句块,在执行
- 在用户执行粘贴操作的时候,js能够获得剪切板的内容,本文讨论一下这个问题。目前只有Chrome支持获取剪切板中的图片数据。还好需要这个功能的
- 首先让我们首先看一个例子。我们知道在*NIX下面,uname命令是查看系统的发行版。可以写这样一个Fabric脚本:from fabric.
- 1.sys模块sys模块的常见函数列表:sys.argv: 实现从程序外部向程序传递参数。sys.exit([arg]): 程序中间的退出,
- 代码如下:'===================================== '获得文件后缀 '=====
- PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,鉴于目前最新版 PyCharm 使用教程较少,为了节约时间,来介绍下p
- 前言最近在做项目的时候遇到一个问题,需要获取一个动态预览的图片的地址,这其实不是什么问题,主要是该图片的路径是写在css的backgroun
- 整理文档,搜刮出一个vue 计时器组件的代码,稍微整理精简一下做下分享。<template> <div>  
- 第二次遇到FF下正则兼容性问题( 第一次是关于"g"全局标志的,现在网上已有很多相关文章介绍)。以下正则在FF和IE下的
- 这篇文章主要介绍了基于python3抓取pinpoint应用信息入库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 使用xlrd模块和xlwt模块解题思想:xlwt模块是非追加写.xls的模块,所以要借助for循环和列表,来一次性写入,这样就没有追加与非追
- 以下备忘升级至 Vue CLI 3.x 版本后,将项目目录改为新结构时所需做的一些改动。1. 卸载与安装npm uninstall vue-
- 一、标识符何为标识符?标识符是用来标识某个实体的一个符号。在编程语言中,标识符是计算机语言中作为名字的有效字符串集合。标识符是用户编程时使用
- 如何解决pycharm配置跨域不提示?正常我们需在在如上中间件内配置跨域,但是2019之前的版本配置中间件可能需要全部自己敲出来,不会有提示