Python利用matplot绘图
目录
1.matplotlib绘图
①基本用法
绘单个函数图
画布figure图
②画图
(1)散点图
(2)折线图
(3)bar柱状图
(4)image热图
(5)饼图
(6)箱线图
1.matplotlib绘图
①基本用法
绘单个函数图
x = np.linspace(-1, 1, 50)
y = 2 * x + 1
plt.plot(x, y)
plt.show()
画布figure图
将两个函数绘制在一张画布上
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x**2
# figsize是画布尺寸,facecolor是背景颜色,num为图形编号或者名称
plt.figure(num=3,figsize=(2,3),facecolor='green')
plt.plot(x, y1)
plt.plot(x,y2,color='red',linewidth=3,linestyle='--')
plt.show()
划分子图
# 划分子图 这里是划分成2*2的子图 第三个参数为子图的编号plt.subplot(221)plt.title("1") # 子图1的标题plt.subplot(222)plt.title("2") # 子图1的标题plt.subplot(223)plt.plot(x, y1)plt.title("3") # 子图1的标题plt.subplot(224)plt.title("4") # 子图1的标题plt.plot(x, y2, color='red', linewidth=3, linestyle='--')plt.suptitle("5") # 全局标题plt.show()
直角坐标系
# 设置坐标轴
plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel('I am X')
plt.ylabel('I am Y')
new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)
plt.yticks([-2, -1.8, -1, 1.22, 3],[r'$really\ bad$', r'$bad$', r'$normal\ \alpha$', r'$good$', r'$really\ good$'])
# 画直角坐标系
ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
画标签图
# 画标签图
l1, = plt.plot(x, y1, label='up')
l2, = plt.plot(x, y2, color='red', linewidth=1, linestyle='--', label='down')
plt.legend(handles=[l1, l2, ], labels=['aaa', 'bbb'], loc='best') # loc: lower right, upper left, etc.
标记一个点
# 标一个点出来
x0 = 1
y0 = 2 * x0 + 1
plt.scatter(x0, y0, s=50, color='b')
plt.plot([x0, x0], [0, y0], 'k--', linewidth=2.5)
plt.annotate(r'$2x+1=%s$' % y0, xy=(x0, y0), xycoords='data', xytext=(+30, -30),textcoords='offset points', fontsize=16,arrowprops=dict(arrowstyle='->', connectionstyle="arc3,rad=.2"))
plt.text(-3.7, 3, r'$This\ is\ the\ some\ text. \mu\ \sigma_i\ \alpha_t$',fontdict={'size': 16, 'color': 'r'})
②画图
(1)散点图
def scatter():n = 1024 # data size# 标准正态分布X = np.random.normal(0, 1, n) # 每一个点的X值Y = np.random.normal(0, 1, n) # 每一个点的Y值T = np.arctan2(Y, X) # for color valueplt.scatter(X, Y, s=75, c=T, alpha=0.5)
plt.xlim(-1.5, 1.5)plt.xticks(()) # ignore xticksplt.ylim(-1.5, 1.5)plt.yticks(()) # ignore yticks
plt.show()
n = 1024 # data size
# 标准正态分布
X1 = np.random.normal(0, 1, n) # 每一个点的X值
Y1 = np.random.normal(0, 1, n) # 每一个点的Y值
plt.scatter(X1, Y1, s=75, c='blue',marker='*',label='正态分布')
# 均匀分布
X2 = np.random.uniform(-4, 4, (1,n)) # 每一个点的X值
Y2 = np.random.uniform(-4, 4, (1,n)) # 每一个点的Y值
plt.scatter(X2, Y2, s=75, c='yellow',marker='o',label='均匀分布')
plt.legend(loc='best')
plt.xlim(-4, 4)
plt.ylim(-4, 4)
plt.xlabel('x')
plt.ylabel('y')
plt.show()
(2)折线图
def zhexian():n=24y1=np.random.randint(27,37,n)y2=np.random.randint(40,60,n)plt.plot(y1,label='温度')plt.plot(y2,label='湿度')plt.xlim(0,23)plt.ylim(20,70)plt.xlabel('小时',fontsize=12)plt.ylabel('测量值',fontsize=12)plt.title('24小时温度湿度统计',fontsize=16)plt.legend()plt.show()
(3)bar柱状图
def bar():n = 12X = np.arange(n)Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)# 柱状图是竖着的plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')plt.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')# 横着的柱状图plt.barh(x,+Y1)
for x, y in zip(X, Y1):# ha: horizontal alignment# va: vertical alignmentplt.text(x, y + 0.05, '%.2f' % y, ha='center', va='bottom')
for x, y in zip(X, Y2):# ha: horizontal alignment# va: vertical alignmentplt.text(x, -y - 0.05, '%.2f' % y, ha='center', va='top')
plt.xlim(-0.5, n)plt.xticks(())plt.ylim(-1.25, 1.25)plt.yticks(())
plt.show()
(4)image热图
def image():a = np.array([0.313660827978, 0.365348418405, 0.423733120134,0.365348418405, 0.439599930621, 0.525083754405,0.423733120134, 0.525083754405, 0.651536351379]).reshape(3, 3)plt.imshow(a, interpolation='nearest', cmap='bone', origin='upper')plt.colorbar(shrink=0.92)plt.xticks(())plt.yticks(())plt.show()
(5)饼图
def pie():data=[2,5,8,13,7]plt.pie(data,labels=['apples','banane','gredd','egg','compt'],autopct='%1.1f%%')plt.title('pie of data')plt.show()
(6)箱线图
箱线图一般用来展现数据的分布(如上下四分位值、中位数等),同时也可以用箱线图反映数据的异常情况
def box():plt.boxplot([height,weight,old,grade],patch_artist=True,vert=True)plt.show()
Python利用matplot绘图相关推荐
- Python利用Matplotlib绘图无法显示中文字体的解决方案
这里写目录标题 问题描述 报错信息 解决方法 其他解决方案 使用模板(内置样式)后无法显示中文的解决方案 问题描述 在Python利用Matplotlib绘图的时候,无法显示坐标轴上面的中文和标题里面 ...
- python利用Tkinter绘图
文章目录 简介: 第一个GUI程序 简介: Tk是一个图形库,支持多个操作系统,使用Tcl语言开发: Tk会调用操作系统提供的本地GUI接口,完成最终的GUI. 所以,我们的代码只需要调用Tkinte ...
- Python利用turtle库绘图大熊猫
Python利用turtle库绘图大熊猫 卡通大熊猫的详细代码 由代码绘制的熊猫宝宝 Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原 ...
- python利用决策树进行特征选择
python利用决策树进行特征选择(注释部分为绘图功能),最后输出特征排序: import numpy as np import tflearn from tflearn.layers.core im ...
- python turtle画彩虹-Python利用turtle库绘制彩虹代码示例_天津SEO
天津SEO RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为RGB模型 代码示例: #-*- coding:utf-8 –*- f ...
- python画图代码彩虹-Python利用turtle库绘制彩虹代码示例
语言:Python IDE:Python.IDE 需求 做出彩虹效果 颜色空间 RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为R ...
- python利用tushare下载数据并计算当日收益率
python利用tushare下载数据并计算当日收益率 计算股票收益率的程序主要有以下几部分构成: 1.获取股票接口数据函数:pro_daily_stock() 2.计算收益率函数:cal_stock ...
- Python Turtle 海龟绘图详解官方文档中文版
Python Turtle 海龟绘图详解 (官方文档中文版)-安徽省太湖中学陈晓中整理 概述 海龟绘图很适合用来引导孩子学习编程. 最初来自于 Wally Feurzeig, Seymour Pape ...
- 详解python 利用 pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图
转载: 详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图) Pyecharts绘制全球流向图 pyecharts中文教程官网 目录 安装对应的python模块 世界 ...
最新文章
- iOS实现基于VLC播放器的封装效果
- ad network
- python编译器如何设置中文_如何使setup.py test使用特定的fortran编译器?
- 使用ueditor实现多图片上传案例——DaoImpl层(ShoppingDaoImpl)
- Java DES 加解密(DES/CBC/PKCS5Padding)
- 论文浅尝 | 5 篇顶会论文带你了解知识图谱最新研究进展
- Python基础知识学习笔记——Matplotlib绘图
- 面试题32:从上到下打印二叉树
- 【从0开始机器学习】神经网络识别手写字符!
- java实现【国密SM4】加密解密-CBC模式
- 个人制作:AD库、元件库、封装库及3D模型,免费
- 【金三银四】MySQL优化面试题(2021最新版)
- 基于Qt软件框架设计
- 百度地图 - 自定义划分区域并获取区域内的坐标点
- css 多余省略号_css设置文字多余部分显示省略号
- 使用AD16画板步骤
- js jquery 3D模型展示
- 小新Pro13成功安装黑苹果超详细教程,小白也会安装双系统!
- 10分钟教你搭建自己的ngrok服务器
- jqgrid setCell 单元格赋值空字符串 无效处理