资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

python中plt函数,plt 函数

Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围

import matplotlib.pyplot as plt

青原网站建设公司创新互联,青原网站设计制作,有大型网站制作公司丰富经验。已为青原成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的青原做网站的公司定做!

x_values=list(range(11))   #x轴的数字是0到10这11个整数

y_values=[x**2forx inx_values]   #y轴的数字是x轴数字的平方

plt.plot(x_values,y_values,c='green')  #用plot函数绘制折线图,线条颜色设置为绿色

plt.title('Squares',fontsize=24)   #设置图表标题和标题字号

plt.tick_params(axis='both',which='major',labelsize=14) #设置刻度的字号

plt.xlabel('Numbers',fontsize=14)  #设置x轴标签及其字号

plt.ylabel('Squares',fontsize=14)  #设置y轴标签及其字号

plt.show()

import matplotlib.pyplot as plt

from matplotlib.pyplot import MultipleLocator

#从pyplot导入MultipleLocator类,这个类用于设置刻度间隔

x_values=list(range(11))

y_values=[x**2forx inx_values]

plt.plot(x_values,y_values,c='green')

plt.title('Squares',fontsize=24)

plt.tick_params(axis='both',which='major',labelsize=14)

plt.xlabel('Numbers',fontsize=14)

plt.ylabel('Squares',fontsize=14)

x_major_locator=MultipleLocator(1) #把x轴的刻度间隔设置为1,并存在变量里

y_major_locator=MultipleLocator(10) #把y轴的刻度间隔设置为10,并存在变量里

ax=plt.gca() #ax为两条坐标轴的实例

ax.xaxis.set_major_locator(x_major_locator) #把x轴的主刻度设置为1的倍数

ax.yaxis.set_major_locator(y_major_locator) #把y轴的主刻度设置为10的倍数

plt.xlim(-0.5,11)  #把x轴的刻度范围设置为-0.5到11,因为0.5不满一个刻度间隔,所以数字不会显示出来,但是能看到一点空白

plt.ylim(-5,110) #把y轴的刻度范围设置为-5到110,同理,-5不会标出来,但是能看到一点空白

plt.show()

用Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围

转自 跳转链接

 一、用默认设置绘制折线图

import matplotlib.pyplot as plt

x_values=list(range(11))

#x轴的数字是0到10这11个整数

y_values=[x**2 for x in x_values]

#y轴的数字是x轴数字的平方

plt.plot(x_values,y_values,c='green')

#用plot函数绘制折线图,线条颜色设置为绿色

plt.title('Squares',fontsize=24)

#设置图表标题和标题字号

plt.tick_params(axis='both',which='major',labelsize=14)

#设置刻度的字号

plt.xlabel('Numbers',fontsize=14)

#设置x轴标签及其字号

plt.ylabel('Squares',fontsize=14)

#设置y轴标签及其字号

plt.show()

#显示图表

制作出图表

我们希望x轴的刻度是0,1,2,3,4……,y轴的刻度是0,10,20,30……,并且希望两个坐标轴的范围都能再大一点,所以我们需要手动设置。

二、手动设置坐标轴刻度间隔以及刻度范围

import matplotlib.pyplot as plt

from matplotlib.pyplot import MultipleLocator

#从pyplot导入MultipleLocator类,这个类用于设置刻度间隔

x_values=list(range(11))

y_values=[x**2 for x in x_values]

plt.plot(x_values,y_values,c='green')

plt.title('Squares',fontsize=24)

plt.tick_params(axis='both',which='major',labelsize=14)

plt.xlabel('Numbers',fontsize=14)

plt.ylabel('Squares',fontsize=14)

x_major_locator=MultipleLocator(1)

#把x轴的刻度间隔设置为1,并存在变量里

y_major_locator=MultipleLocator(10)

#把y轴的刻度间隔设置为10,并存在变量里

ax=plt.gca()

#ax为两条坐标轴的实例

ax.xaxis.set_major_locator(x_major_locator)

#把x轴的主刻度设置为1的倍数

ax.yaxis.set_major_locator(y_major_locator)

#把y轴的主刻度设置为10的倍数

plt.xlim(-0.5,11)

#把x轴的刻度范围设置为-0.5到11,因为0.5不满一个刻度间隔,所以数字不会显示出来,但是能看到一点空白

plt.ylim(-5,110)

#把y轴的刻度范围设置为-5到110,同理,-5不会标出来,但是能看到一点空白

plt.show()

绘制结果

Python实操:手把手教你用Matplotlib把数据画出来

作者:迈克尔·贝耶勒(Michael Beyeler)

如需转载请联系华章 科技

如果已安装Anaconda Python版本,就已经安装好了可以使用的 Matplotlib。否则,可能要访问官网并从中获取安装说明:

正如使用np作为 NumPy 的缩写,我们将使用一些标准的缩写来表示 Matplotlib 的引入:

在本书中,plt接口会被频繁使用。

让我们创建第一个绘图。

假设想要画出正弦函数sin(x)的线性图。得到函数在x坐标轴上0≤x<10内所有点的值。我们将使用 NumPy 中的 linspace 函数来在x坐标轴上创建一个从0到10的线性空间,以及100个采样点:

可以使用 NumPy 中的sin函数得到所有x点的值,并通过调用plt中的plot函数把结果画出来:

你亲自尝试了吗?发生了什么吗?有没有什么东西出现?

实际情况是,取决于你在哪里运行脚本,可能无法看到任何东西。有下面几种可能性:

1. 从.py脚本中绘图

如果从一个脚本中运行 Matplotlib,需要加上下面的这行调用:

在脚本末尾调用这个函数,你的绘图就会出现!

2. 从 IPython shell 中绘图

这实际上是交互式地执行Matplotlib最方便的方式。为了让绘图出现,需要在启动 IPython 后使用所谓的%matplotlib魔法命令。

接下来,无须每次调用plt.show()函数,所有的绘图将会自动出现。

3. 从 Jupyter Notebook 中绘图

如果你是从基于浏览器的 Jupyter Notebook 中看这段代码,需要使用同样的%matplotlib魔法命令。然而,也可以直接在notebook中嵌入图形,这会有两种输出选项:

在本书中,将会使用inline选项:

现在再次尝试一下:

上面的命令会得到下面的绘图输出结果:

如果想要把绘图保存下来留作以后使用,可以直接在 IPython 或者 Jupyter Notebook 使用下面的命令保存:

仅需要确保你使用了支持的文件后缀,比如.jpg、.png、.tif、.svg、.eps或者.pdf。

作为本章最后一个测试,让我们对外部数据集进行可视化,比如scikit-learn中的数字数据集。

为此,需要三个可视化工具:

那么开始引入这些包吧:

第一步是载入实际数据:

如果没记错的话,digits应该有两个不同的数据域:data域包含了真正的图像数据,target域包含了图像的标签。相对于相信我们的记忆,我们还是应该对digits稍加 探索 。输入它的名字,添加一个点号,然后按Tab键:digits.TAB,这个操作将向我们展示digits也包含了一些其他的域,比如一个名为images的域。images和data这两个域,似乎简单从形状上就可以区分。

两种情况中,第一维对应的都是数据集中的图像数量。然而,data中所有像素都在一个大的向量中排列,而images保留了各个图像8×8的空间排列。

因此,如果想要绘制出一副单独的图像,使用images将更加合适。首先,使用NumPy的数组切片从数据集中获取一幅图像:

这里是从1797个元素的数组中获取了它的第一行数据,这行数据对应的是8×8=64个像素。下面就可以使用plt中的imshow函数来绘制这幅图像:

上面的命令得到下面的输出:

此外,这里也使用cmap参数指定了一个颜色映射。默认情况下,Matplotlib 使用MATLAB默认的颜色映射jet。然而,在灰度图像的情况下,gray颜色映射更有效。

最后,可以使用plt的subplot函数绘制全部数字的样例。subplot函数与MATLAB中的函数一样,需要指定行数、列数以及当前的子绘图索引(从1开始计算)。我们将使用for 循环在数据集中迭代出前十张图像,每张图像都分配到一个单独的子绘图中。

这会得到下面的输出结果:

关于作者:Michael Beyeler,华盛顿大学神经工程和数据科学专业的博士后,主攻仿生视觉计算模型,用以为盲人植入人工视网膜(仿生眼睛),改善盲人的视觉体验。 他的工作属于神经科学、计算机工程、计算机视觉和机器学习的交叉领域。同时他也是多个开源项目的积极贡献者。

本文摘编自《机器学习:使用OpenCV和Python进行智能图像处理》,经出版方授权发布。

python中plot怎么设置横纵坐标名称

用plot画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达不到自己的需求,需要借助xticks()和yticks()分别对横坐标x-axis和纵坐标y-axis进行设置。

import numpy as np

import matplotlib.pyplot as plt

x = range(1,13,1)

y = range(1,13,1)

plt.plot(x,y)

plt.show()

此时的x轴和y轴都是只显示偶数,其它的奇数未显示,这样在展示实验效果或放入文章中都会影响其可读性。

为了设置坐标轴的值,增加其可读性,有多种方法。这里介绍的是matplotlib的函数xticks()和yticks()。

扩展资料

基本用法:

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

# 生成x轴上的数据:从-3到3,总共有50个点

x = np.linspace(-1, 1, 50)

# 定义一个线性方程

y1 = 2 * x + 1

# 定义一个二次方程

y2 = x ** 2

# 设置x轴的取值范围为:-1到2

plt.xlim(-1, 2)

# 设置y轴的取值范围为:-1到3

plt.ylim(-1, 3)

# 设置x轴的文本,用于描述x轴代表的是什么

plt.xlabel("I am x")

# 设置y轴的文本,用于描述y轴代表的是什么

plt.ylabel("I am y")

plt.plot(x, y2)

# 绘制红色的线宽为1虚线的线条

plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')

# 显示图表

plt.show()

参考资料来源:

百度百科——plot

如何用python绘制各种图形

1.环境

系统:windows10

python版本:python3.6.1

使用的库:matplotlib,numpy

2.numpy库产生随机数几种方法

import numpy as np

numpy.random

rand(d0, d1, ..., dn)  

In [2]: x=np.random.rand(2,5)

In [3]: x

Out[3]:

array([[ 0.84286554,  0.50007593,  0.66500549,  0.97387807,  0.03993009],

[ 0.46391661,  0.50717355,  0.21527461,  0.92692517,  0.2567891 ]])

randn(d0, d1, ..., dn)查询结果为标准正态分布

In [4]: x=np.random.randn(2,5)

In [5]: x

Out[5]:

array([[-0.77195196,  0.26651203, -0.35045793, -0.0210377 ,  0.89749635],

[-0.20229338,  1.44852833, -0.10858996, -1.65034606, -0.39793635]])

randint(low,high,size)  

生成low到high之间(半开区间 [low, high)),size个数据

In [6]: x=np.random.randint(1,8,4)

In [7]: x

Out[7]: array([4, 4, 2, 7])

random_integers(low,high,size)  

生成low到high之间(闭区间 [low, high)),size个数据

In [10]: x=np.random.random_integers(2,10,5)

In [11]: x

Out[11]: array([7, 4, 5, 4, 2])

3.散点图

x x轴

y y轴

s   圆点面积

c   颜色

marker  圆点形状

alpha   圆点透明度                #其他图也类似这种配置

N=50# height=np.random.randint(150,180,20)# weight=np.random.randint(80,150,20)

x=np.random.randn(N)

y=np.random.randn(N)

plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)

plt.show()

4.折线图

x=np.linspace(-10000,10000,100) #将-10到10等区间分成100份

y=x**2+x**3+x**7

plt.plot(x,y)

plt.show()

折线图使用plot函数

5.条形图

N=5

y=[20,10,30,25,15]

y1=np.random.randint(10,50,5)

x=np.random.randint(10,1000,N)

index=np.arange(N)

plt.bar(left=index,height=y,color='red',width=0.3)

plt.bar(left=index+0.3,height=y1,color='black',width=0.3)

plt.show()

orientation设置横向条形图

N=5

y=[20,10,30,25,15]

y1=np.random.randint(10,50,5)

x=np.random.randint(10,1000,N)

index=np.arange(N)# plt.bar(left=index,height=y,color='red',width=0.3)# plt.bar(left=index+0.3,height=y1,color='black',width=0.3)#plt.barh() 加了h就是横向的条形图,不用设置orientation

plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orientation='horizontal')

plt.show()

6.直方图

m1=100

sigma=20

x=m1+sigma*np.random.randn(2000)

plt.hist(x,bins=50,color="green",normed=True)

plt.show()

# #双变量的直方图# #颜色越深频率越高# #研究双变量的联合分布

#双变量的直方图#颜色越深频率越高#研究双变量的联合分布

x=np.random.rand(1000)+2

y=np.random.rand(1000)+3

plt.hist2d(x,y,bins=40)

plt.show()

7.饼状图

#设置x,y轴比例为1:1,从而达到一个正的圆

#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影

labes=['A','B','C','D']

fracs=[15,30,45,10]

explode=[0,0.1,0.05,0]#设置x,y轴比例为1:1,从而达到一个正的圆

plt.axes(aspect=1)#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影

plt.pie(x=fracs,labels=labes,autopct="%.0f%%",explode=explode,shadow=True)

plt.show()

8.箱型图

import matplotlib.pyplot as pltimport numpy as npdata=np.random.normal(loc=0,scale=1,size=1000)#sym 点的形状,whis虚线的长度plt.boxplot(data,sym="o",whis=1.5)plt.show()

#sym 点的形状,whis虚线的长度

python绘图篇

1,xlable,ylable设置x,y轴的标题文字。

2,title设置标题。

3,xlim,ylim设置x,y轴显示范围。

plt.show()显示绘图窗口,通常情况下,show()会阻碍程序运行,带-wthread等参数的环境下,窗口不会关闭。

plt.saveFig()保存图像。

面向对象绘图

1,当前图表和子图可以用gcf(),gca()获得。

subplot()绘制包含多个图表的子图。

configure subplots,可调节子图与图表边框距离。

可以通过修改配置文件更改对象属性。

图标显示中文

1,在程序中直接指定字体。

2, 在程序开始修改配置字典reParams.

3,修改配置文件。

Artist对象

1,图标的绘制领域。

2,如何在FigureCanvas对象上绘图。

3,如何使用Renderer在FigureCanvas对象上绘图。

FigureCanvas和Render处理底层图像操作,Artist处理高层结构。

分为简单对象和容器对象,简单的Aritist是标准的绘图元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器类型包含许多简单的的 Aritist对象,使他们构成一个整体,例如Axis,Axes,Figure等。

直接创建Artist对象进项绘图操作步奏:

1,创建Figure对象(通过figure()函数,会进行许多初始化操作,不建议直接创建。)

2,为Figure对象创建一个或多个Axes对象。

3,调用Axes对象的方法创建各类简单的Artist对象。

Figure容器

如何找到指定的Artist对象。

1,可调用add_subplot()和add_axes()方法向图表添加子图。

2,可使用for循环添加栅格。

3,可通过transform修改坐标原点。

Axes容器

1,patch修改背景。

2,包含坐标轴,坐标网格,刻度标签,坐标轴标题等内容。

3,get_ticklabels(),,get-ticklines获得刻度标签和刻度线。

1,可对曲线进行插值。

2,fill_between()绘制交点。

3,坐标变换。

4,绘制阴影。

5,添加注释。

1,绘制直方图的函数是

2,箱线图(Boxplot)也称箱须图(Box-whisker Plot),是利用数据中的五个统计量:最小值、第一四分位

数、中位数、第三四分位数与最大值来描述数据的一种方法,它可以粗略地看出数据是否具有对称性以及分

布的分散程度等信息,特别可以用于对几个样本的比较。

3,饼图就是把一个圆盘按所需表达变量的观察数划分为若干份,每一份的角度(即面积)等价于每个观察

值的大小。

4,散点图

5,QQ图

低层绘图函数

类似于barplot(),dotchart()和plot()这样的函数采用低层的绘图函数来画线和点,来表达它们在页面上放置的位置以及其他各种特征。

在这一节中,我们会描述一些低层的绘图函数,用户也可以调用这些函数用于绘图。首先我们先讲一下R怎么描述一个页面;然后我们讲怎么在页面上添加点,线和文字;最后讲一下怎么修改一些基本的图形。

绘图区域与边界

R在绘图时,将显示区域划分为几个部分。绘制区域显示了根据数据描绘出来的图像,在此区域内R根据数据选择一个坐标系,通过显示出来的坐标轴可以看到R使用的坐标系。在绘制区域之外是边沿区,从底部开始按顺时针方向分别用数字1到4表示。文字和标签通常显示在边沿区域内,按照从内到外的行数先后显示。

添加对象

在绘制的图像上还可以继续添加若干对象,下面是几个有用的函数,以及对其功能的说明。

•points(x, y, ...),添加点

•lines(x, y, ...),添加线段

•text(x, y, labels, ...),添加文字

•abline(a, b, ...),添加直线y=a+bx

•abline(h=y, ...),添加水平线

•abline(v=x, ...),添加垂直线

•polygon(x, y, ...),添加一个闭合的多边形

•segments(x0, y0, x1, y1, ...),画线段

•arrows(x0, y0, x1, y1, ...),画箭头

•symbols(x, y, ...),添加各种符号

•legend(x, y, legend, ...),添加图列说明


网站名称:python中plt函数,plt 函数
链接分享:http://www.cdkjz.cn/article/hdhocj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220