机器学习-数据可视化神器matplotlib学习之路(一)
直接上代码吧,说明写在备注就好了,这次主要学习一下基本的画图方法和常用的图例图标等
from matplotlib import pyplot as plt
import numpy as np #这里是最最基本的代码了
#x轴-2到2均分50个点
x = np.linspace(-2, 2, 50)
y = x**2
plt.plot(x, y)
plt.show()

下面要加一下元素和样式了
from matplotlib import pyplot as plt
import numpy as np x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#设置x坐标范围
plt.ylim((0,5))#设置y坐标范围
plt.plot(x, y,
linestyle='--',#线条的样式
linewidth=2.0,#线条宽度
alpha=0.5,#透明度,数字越小越透明,范围(0-1)
marker='.',#每个点的样式
color='r',#颜色
label='y=x**2'#图例
)
#打开图例,不然plt.plot里面的label属性会无效
plt.legend(
loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置
)
plt.show()

到这里,如果我们想要x轴刻度自由控制一下可以用 plt.xticks 来实现
from matplotlib import pyplot as plt
import numpy as np x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#设置x坐标范围
plt.ylim((0,5))#设置y坐标范围
plt.plot(x, y,
linestyle='--',#线条的样式
linewidth=2.0,#线条宽度
alpha=0.5,#透明度,数字越小越透明,范围(0-1)
marker='.',#每个点的样式
color='r',#颜色
label='y=x**2'#图例
)
#打开图例,不然plt.plot里面的label属性会无效
plt.legend(
loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置
) new_xticks = np.linspace(-2, 2, 6)
plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度 plt.show()

这里x轴刻度就和之前发生一点变化,有时候不需要用具体数字而是一个文字标签显示,比如y轴0以上的为normal,2以上为good,4以上为very good,
可以用 plt.yticks([0, 2, 4], [‘normal’,'good','very good']) 来实现,接下来就来实现一下
from matplotlib import pyplot as plt
import numpy as np x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#设置x坐标范围
plt.ylim((0,5))#设置y坐标范围
plt.plot(x, y,
linestyle='--',#线条的样式
linewidth=2.0,#线条宽度
alpha=0.5,#透明度,数字越小越透明,范围(0-1)
marker='.',#每个点的样式
color='r',#颜色
label='y=x**2'#图例
)
#打开图例,不然plt.plot里面的label属性会无效
plt.legend(
loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置
) new_xticks = np.linspace(-2, 2, 6)
plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度 plt.yticks([0, 2, 4], [r'$normal$', r'$good$', r'$very\ good$'])#前后对应上就好了,$包住的是调整默认字体 plt.show()

接下来就是对坐标轴的处理了,我们想要移动坐标,用方框的左边和下班做y轴和x轴,右边和上班把颜色去掉,然后移动一下x和y轴
from matplotlib import pyplot as plt
import numpy as np x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#设置x坐标范围
plt.ylim((0,5))#设置y坐标范围
plt.plot(x, y,
linestyle='--',#线条的样式
linewidth=2.0,#线条宽度
alpha=0.5,#透明度,数字越小越透明,范围(0-1)
marker='.',#每个点的样式
color='r',#颜色
label='y=x**2'#图例
)
#打开图例,不然plt.plot里面的label属性会无效
plt.legend(
loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置
) new_xticks = np.linspace(-2, 2, 6)
plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度 plt.yticks([0, 2, 4], [r'$normal$', r'$good$', r'$very\ good$'])#前后对应上就好了,$包住的是调整默认字体 gca = plt.gca()
gca.spines['right'].set_color('none')#将图像方框右边颜色取消
gca.spines['top'].set_color('none')#将图像方框上边颜色取消
gca.xaxis.set_ticks_position('bottom')#x轴设为方框下边
gca.yaxis.set_ticks_position('left')#y轴设为方框左边
gca.spines['bottom'].set_position(('data', 1))#将方框下边也就是x轴移动到y=1的位置
gca.spines['left'].set_position(('data', 0))#将方框左边也就是y轴移动到x=0的位置 plt.show()

这里的方法稍微有点麻烦,折腾了一下终于大功告成了!今天就到这儿,下次准备学习一下更怎样在图中用文字和其它说明
机器学习-数据可视化神器matplotlib学习之路(一)的更多相关文章
- 机器学习-数据可视化神器matplotlib学习之路(五)
这次准备做一下pandas在画图中的应用,要做数据分析的话这个更为实用,本次要用到的数据是pthon机器学习库sklearn中一组叫iris花的数据,里面组要有4个特征,分别是萼片长度.萼片宽度.花瓣 ...
- 机器学习-数据可视化神器matplotlib学习之路(三)
之前学习了一些通用的画图方法和技巧,这次就学一下其它各种不同类型的图.好了先从散点图开始,上代码: from matplotlib import pyplot as plt import numpy ...
- 机器学习-数据可视化神器matplotlib学习之路(二)
之前学习了matplotlib的一些基本画图方法(查看上一节),这次主要是学习在图中加一些文字和其其它有趣的东西. 先来个最简单的图 from matplotlib import pyplot as ...
- 机器学习-数据可视化神器matplotlib学习之路(四)
今天画一下3D图像,首先的另外引用一个包 from mpl_toolkits.mplot3d import Axes3D,接下来画一个球体,首先来看看球体的参数方程吧 (0≤θ≤2π,0≤φ≤π) 然 ...
- Python数据可视化——使用Matplotlib创建散点图
Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...
- 学机器学习,不会数据分析怎么行——数据可视化分析(matplotlib)
前言 前面两篇文章介绍了 python 中两大模块 pandas 和 numpy 的一些基本使用方法,然而,仅仅会处理数据还是不够的,我们需要学会怎么分析,毫无疑问,利用图表对数据进行分析是最容易的, ...
- python 数据可视化(matplotlib)
matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...
- 绘图和数据可视化工具包——matplotlib
一.Matplotlib介绍 Matplotlib是一个强大的Python**绘图**和**数据可视化**的工具包. # 安装方法 pip install matplotlib # 引用方法 impo ...
- Python数据可视化库-Matplotlib(一)
今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...
随机推荐
- api文档生成器apidoc的安装和使用
在开发接口的过程中,需要向外发布相应的接口文档.开始的时候使用word来写文档,时间长了发现有几个问题. 1. 编写不方便.每次新增借口的时候都要复制上一个接口,然后再进行修改,一些相同的部分无法复用 ...
- vertx异步编程测试
vertx是异步编程的框架,性能较高,开发简单.异步编程就是当一个请求来了,vertx将其交由一个事件进行处理,然后继续向下执行,等处理完成,返回结果,通知客户端.这是一个由服务端反向调用客户端的过程 ...
- Scala里面如何使用枚举
枚举通常用来定义已知数量的常量,比如月份,星期,季节等等,用过java的人都知道定义枚举的关键字是enum,在scala里面和java有所不同,来看一个完整的例子定义: object EnumTest ...
- 机器学习理论基础学习3.2--- Linear classification 线性分类之线性判别分析(LDA)
在学习LDA之前,有必要将其自然语言处理领域的LDA区别开来,在自然语言处理领域, LDA是隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),是一种处理文档的主题 ...
- LeetCode--687. 最长同值路径
题目描述:给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值.这条路径可以经过也可以不经过根节点.注意:两个节点之间的路径长度由它们之间的边数表示. 示例1:输入: 5 / \ 4 5 / ...
- RNN实现字符级语言模型 - 恐龙岛(自己写RNN前向后向版本+keras版本)
问题描述:样本为所有恐龙名字,为了构建字符级语言模型来生成新的名称,你的模型将学习不同的名称模式,并随机生成新的名字. 在这里你将学习到: 如何存储文本数据以便使用rnn进行处理. 如何合成数据,通过 ...
- android开发中遇到的一些问题
buildToolsVersion 设置buildtool版本 今天遇到一个奇怪问题instant not supported 原来是设置显示offline...这个很无语,adb devices又能 ...
- jQ live用法
我们给元素绑定单击事件.用得最多的都是$("#id").click(function(){}); 但我们动态添加的元素.这样绑定是不行的.必须借助live $("#id ...
- ts实战项目启动中遇到的问题
项目链接:https://github.com/Jiasm/typescript-example 储备知识须知: sequelize入门篇 : 依照README执行以下操作: npm i brew s ...
- 1初识QT
创建程序步骤: 打开Qt Creator 界面选择 New Project或者选择菜单栏 [文件]-[新建文件或项目]菜单项 弹出New Project对话框,选择Qt Widgets Applica ...