精华内容
下载资源
问答
  • 大家都想不到吧,使用python居然还可以绘制画图,而最常见的就是python matplotlib,因为常见,所以常用,要怎么完美的利用这个呢?一起来看下吧~首先建立一个项目文件夹,然后新建一个Python 3的项目,我们就可以...

    大家都想不到吧,使用python居然还可以绘制画图,而最常见的就是python matplotlib,因为常见,所以常用,要怎么完美的利用这个呢?一起来看下吧~

    首先建立一个项目文件夹,然后新建一个Python 3的项目,我们就可以愉快的编程了。

    案例1:绘制一条线import matplotlib.pyplot as plt #导入pyplot

    import numpy as np #导入numpy

    # np.linspace为numpy的等差数列函数,形成一个0到100之间,共50个元素的函数

    x = np.linspace(0,100,50)

    y = 2*x + 1 #赋值运算

    #最重要的一步,plot用于绘制线条或标记的轴,可以指定线性,颜色等

    plt.plot(x,y) #默认直接绘制

    plt.show()

    案例2:绘制一条特殊的线import matplotlib.pyplot as plt

    import numpy as np

    x = np.linspace(0,100,20)

    #print (x)

    y = 2*x + 1

    #与案例1中不同的是增加很多参数,如color(颜色), linewidth(线宽), linestyle(线性), marker(标记)

    plt.plot(x,y,color='red',linewidth=1.0,linestyle='-',marker='o')

    plt.show()

    案例3:绘制饼图import matplotlib.pyplot as plt

    labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' #定义标签

    sizes = [15, 30, 45, 10] #定义饼图的大小

    explode = (0, 0.1, 0, 0) #定义切片

    fig1, ax1 = plt.subplots() #导入饼图

    #定义饼图的样式,此示例将 startangle设置为90 ,以便将所有对象逆时针旋转90度,定义了数

    #据显示格式以小数显示,带阴影

    ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',

    shadow=True, startangle=90)

    ax1.axis('equal') # 等纵横比可确保将饼图绘制为圆。.

    plt.show()

    8899ce5c9326cbfd7d54f113dd701355.png

    案例4:绘制3D图import matplotlib.pyplot as plt

    import numpy as np

    from mpl_toolkits.mplot3d import Axes3D #导入3D图库

    fig = plt.figure(figsize=(12, 8)) #指定figure的大小

    ax = Axes3D(fig)

    # 生成X,Y

    X = np.arange(-4, 4, 0.25)

    Y = np.arange(-4, 4, 0.25)

    X,Y = np.meshgrid(X, Y)

    R = np.sqrt(X**2 + Y**2)

    # height value

    Z = np.sin(R)

    # 绘图

    # rstride(row)和cstride(column)表示的是行列的跨度

    ax.plot_surface(X, Y, Z,

    rstride=1, # 行的跨度

    cstride=1, # 列的跨度

    cmap=plt.get_cmap('rainbow') # 颜色映射样式设置

    )

    # offset 表示距离zdir的轴距离

    ax.contourf(X, Y, Z, zdir='z', offest=-2, cmap='rainbow')

    ax.set_zlim(-2, 2)

    plt.show()

    dd3927e2773893a4137bfc5a82ae57e9.png

    好了,以上就是python matplotlib绘图常见的绘图内容了,如需了解更多python实用知识,点击进入PyThon学习网教学中心。

    展开全文
  • 搜索热词本文实例讲述了Python使用matplotlib简单绘图。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-#! python2"""Created on Mon Apr 24 12:48:40 2017@author: x-power"""import matplotlib.pyplot as...

    搜索热词

    本文实例讲述了Python使用matplotlib简单绘图。分享给大家供大家参考,具体如下:

    # -*- coding:utf-8 -*-

    #! python2

    """

    Created on Mon Apr 24 12:48:40 2017

    @author: x-power

    """

    import matplotlib.pyplot as plt #首先载入 matplotlib的绘图模块pyplot,并且重命名为plt。

    import numpy as np

    x = np.linspace(0,10,1000)

    y = np.sin(x)

    z = np.cos(x**2)

    plt.figure(figsize = (8,4)) # 指定图像的长宽比

    plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)# 调用plot在当前的figure对象中绘图实际上plot是在Axes对象上绘图,如果当前的Figure对象中没有Axes对象,将会为之创建一个几乎充满整个图标的Axes对象,并且使此Axes对象成为当前Axes对象。plot的前两个参数分别是表示X,Y轴数据的对象,这里使用的是NumPy数组。label:给曲线制定一个标签,此标签将在图中显示,如果标签前后有$符号matplotlib会用内置的LaTeX引擎将其显示为数学公式。color:指定曲线的颜色,颜色可以用英文单词,或者以#开头的16进制数字来表示,或者使用值在0-1之间的三个数字组成的元祖来表示,例如(1,0)表示红色

    plt.plot(x,z,label="$cos(x^2)$",color = "blue",linewidth=1)

    plt.xlabel("Time(s)")# 当前轴的标题文字

    plt.ylabel("Volt")

    plt.title("www.jb51.net - PyPlot First Example")# 子图的标题

    plt.ylim(-1.2,1.2)#Y轴的显示范围

    plt.legend() # 显示图中右上角的提示信息。

    plt.show()

    运行效果:

    15209966561.jpg?201811113521

    希望本文所述对大家Python程序设计有所帮助。

    相关文章

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • 使用this example作为指南,也许可以尝试以下操作:import wximport matplotlib as mplmpl.use('WXAgg')import matplotlib.pyplot as pltfrom matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as ...

    使用this example作为指南,也许可以尝试以下操作:import wx

    import matplotlib as mpl

    mpl.use('WXAgg')

    import matplotlib.pyplot as plt

    from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as Canvas

    class Plot(wx.Panel):

    def __init__(self, parent, id = -1, dpi = None, **kwargs):

    wx.Panel.__init__(self, parent, id=id, **kwargs)

    self.figure = mpl.figure.Figure(dpi=dpi, figsize=(2,2))

    self.canvas = Canvas(self, -1, self.figure)

    sizer = wx.BoxSizer(wx.VERTICAL)

    sizer.Add(self.canvas,1,wx.EXPAND)

    self.SetSizer(sizer)

    class JBC(wx.Frame):

    def __init__(self, parent, id, title):

    wx.Frame.__init__(self, parent, id, title, size=(600,600))

    self.SetBackgroundColour(wx.Colour(236, 233, 216))

    self.nbG = wx.Notebook(self, -1, style=0, size=(400,400), pos=(0,0))

    self.gSheet1 = self.add("Test").gca()

    calcButton = wx.Button(self, wx.NewId(), "Update", pos=(0, self.nbG.Position.y+400))

    #self.gSheet1.hold(False)

    #self.gSheet1.set_xlim(0,20)

    #self.gSheet1.set_ylim(0,20)

    #for i in range (2):

    # self.gSheet1.plot([0,10],[1*i,1+i])

    #axes2 = plotter.add('figure 2').gca()

    #axes2.plot([1,2,3,4,5],[2,1,4,2,3])

    self.Bind(wx.EVT_BUTTON, self.OnCalculate, calcButton)

    # self.Show(True)

    def OnCalculate(self, event):

    self.gSheet1.set_xlim(0,20)

    self.gSheet1.set_ylim(0,20)

    self.gSheet1.plot([1,2,3,4,5],[2,1,4,2,3])

    self.Update()

    def add(self,name="plot"):

    page = Plot(self.nbG)

    self.nbG.AddPage(page,name)

    return page.figure

    def Update(self):

    self.gSheet1.clear()

    plt.draw()

    print "Tried to redraw"

    if __name__ == '__main__':

    app = wx.App()

    frame=JBC(None, -1, "Test Title")

    frame.Show()

    app.MainLoop()

    也可以使用matplotlib绘制动画人物:"""

    Based on Tkinter bouncing ball code:

    http://stackoverflow.com/q/13660042/190597 (arynaq) and

    http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis/

    """

    import wx

    import numpy as np

    import matplotlib.pyplot as plt

    import matplotlib.figure as mplfig

    import scipy.spatial.distance as dist

    import matplotlib.backends.backend_wxagg as mwx

    class Frame(wx.Frame):

    def __init__(self):

    wx.Frame.__init__(self, None, wx.ID_ANY, size = (800, 600))

    self.panel = wx.Panel(self)

    self.fig = mplfig.Figure(figsize = (5, 4), dpi = 100)

    self.ax = self.fig.add_subplot(111)

    self.vbox = wx.BoxSizer(wx.VERTICAL)

    self.canvas = mwx.FigureCanvasWxAgg(self.panel, wx.ID_ANY, self.fig)

    self.toolbar = mwx.NavigationToolbar2WxAgg(self.canvas)

    self.button = wx.Button(self.panel, wx.ID_ANY, "Quit")

    self.vbox.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)

    self.vbox.Add(self.toolbar, 0, wx.EXPAND)

    self.vbox.Add(

    self.button, 0, border = 3,

    flag = wx.ALIGN_LEFT | wx.ALL | wx.ALIGN_CENTER_VERTICAL)

    self.panel.SetSizer(self.vbox)

    self.vbox.Fit(self)

    self.toolbar.update()

    self.update = self.animate().next

    self.timer = wx.Timer(self)

    self.timer.Start(1)

    self.Bind(wx.EVT_BUTTON, self.OnCloseWindow, self.button)

    self.Bind(wx.EVT_TIMER, lambda event: self.update())

    self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)

    def OnCloseWindow(self, evt):

    self.timer.Stop()

    del self.timer

    self.Destroy()

    def animate(self):

    N = 100 #Number of particles

    R = 10000 #Box width

    pR = 5 #Particle radius

    r = np.random.randint(0, R, (N, 2)) #Position vector

    v = np.random.randint(-R/100, R/100, (N, 2)) #velocity vector

    a = np.array([0, -10]) #Forces

    v_limit = R/2 #Speedlimit

    line, = self.ax.plot([], 'o')

    line2, = self.ax.plot([], 'o') #Track a particle

    self.ax.set_xlim(0, R+pR)

    self.ax.set_ylim(0, R+pR)

    while True:

    v = v+a #Advance

    r = r+v

    #Collision tests

    r_hit_x0 = np.where(r[:, 0]<0) #Hit floor?

    r_hit_x1 = np.where(r[:, 0]>R) #Hit roof?

    r_hit_LR = np.where(r[:, 1]<0) #Left wall?

    r_hit_RR = np.where(r[:, 1]>R) #Right wall?

    #Stop at walls

    r[r_hit_x0, 0] = 0

    r[r_hit_x1, 0] = R

    r[r_hit_LR, 1] = 0

    r[r_hit_RR, 1] = R

    #Reverse velocities

    v[r_hit_x0, 0] = -0.9*v[r_hit_x0, 0]

    v[r_hit_x1, 0] = -v[r_hit_x1, 0]

    v[r_hit_LR, 1] = -0.95*v[r_hit_LR, 1]

    v[r_hit_RR, 1] = -0.99*v[r_hit_RR, 1]

    #Collisions

    D = dist.squareform(dist.pdist(r))

    ind1, ind2 = np.where(D < pR)

    unique = (ind1 < ind2)

    ind1 = ind1[unique]

    ind2 = ind2[unique]

    for i1, i2 in zip(ind1, ind2):

    eps = np.random.rand()

    vtot = v[i1, :]+v[i2, :]

    v[i1, :] = -(1-eps)*vtot

    v[i2, :] = -eps*vtot

    line.set_ydata(r[:, 1])

    line.set_xdata(r[:, 0])

    line2.set_ydata(r[:N/5, 1])

    line2.set_xdata(r[:N/5, 0])

    self.canvas.draw()

    yield True

    def main():

    app = wx.App(False)

    frame = Frame()

    frame.Show(True)

    app.MainLoop()

    if __name__ == '__main__':

    main()

    展开全文
  • 什么是matplotlib?使用过python做数据分析的小伙伴都...matplotlib算是python绘图的元老级库,类似编程语言里的C语言。很多其它的python绘图库是基于matplotlib开发的,比如seaborn、ggplot、plotnine、holoviews、...

    什么是matplotlib?

    使用过python做数据分析的小伙伴都知道,matplotlib是一款命令式、较底层、可定制性强、图表资源丰富、简单易用、出版质量级别的python 2D绘图库。

    matplotlib算是python绘图的元老级库,类似编程语言里的C语言。很多其它的python绘图库是基于matplotlib开发的,比如seaborn、ggplot、plotnine、holoviews、basemap等。

    matplotlib可用于python脚本、python shell、jupyter notebook、web等。最适合来运行matplotlib绘图的工具是jupyter notebook,本教程也是基于该工具做实验。这是一种交互式笔记本,在浏览器上运行代码,能直接显示运行结果和图表,详情可见jupyter notebook介绍。

    哪些图表可以用matplotlib绘制呢?

    柱状图、点线图、直方图、饼图、堆积柱状图、填充直方图、直方散点图、面积图、趋势图、箱型图、小提琴图、数据地图、雷达图、漏斗图、嵌套饼图、各类三维图等等,不胜枚举。

    列出部分图样,详情可见:matplotlib gallery

    使用matplotlib绘图主要是用到其pyplot模块,它可以程序化生成多种多样的图表,只需要简单的函数就可以自主化定制图表,添加文本、点、线、颜色、图像等元素。

    可调整的图表元素有哪些呢?

    这些元素需要通过pyplot模块里方法去控制,以后的实例中会挨个介绍。

    如何安装matplotlib?

    matplotlib及其依赖包可以通过pip安装,非常简单。在命令行中输入:

    pipinstallmatplotlib

    对于新手,疲于安装各种包。可以直接下载安装Anaconda,包含了python及数百个数据科学第三方库,一劳永逸。

    怎么使用matplotlib绘图?

    1、打开jupyter notebook,新建python3笔记本,以下界面:

    2、导入pyplot模块,使用magic图像函数用来在notebook中显示图表

    import matplotlib.pyplot as plt%matplotlib inline #magic函数

    3、键入绘图代码

    plt.figure() #创建一个figure对象plt.plot([1, 2, 3, 4],[1, 2, 3, 4],label='my first line') #绘图函数plotplt.legend() # 图例函数,用于调整图例位置等plt.xlabel('X') # x轴标签plt.ylabel('Y') # y轴标签plt.show() # 显示图表

    4、结果

    这里的pyplot模块方法函数都是做什么的呢?

    plot() : 根据给的x和y值绘制直线或标记图figure() : 创建一个新的图表legend() : 在图表上放置图例xlabel() : 设置x轴标签ylabel() : 设置y轴标签show() : 显示图表

    展开全文
  • 我暂时还不用,可参考一些模板,如 import matplotlib.pyplot as plt from matplotlib.gridspec import GridSpec def format_axes(fig): for i, ax in enumerate(fig.axes): ax.text(0.5, 0.5, "ax%d" % (i+1), va=...
  • python用matplotlib绘图如何删除重复冗余图例

    千次阅读 多人点赞 2018-07-08 22:04:45
    问题: 由于自己做项目的时候,需要循环的绘制数据,假设有100个样本,每个样本包含两个坐标点(A, B),我需要对这两个点标上不同的...但是单纯的在画完图之后plt.legend(), 它会给你画出所有300个图例来,这肯...
  • 遇到一个问题,想让子图的横轴标签全部旋转10度,但是我只能设置其中的一个子图旋转10度,请教下大神,谢谢。 代码示例: fig,axes=plt.subplots(1,2,figsize=(25, 5)) ... plt.subplots_adjust(wspace=0.2,...
  • 这次来整理一波python用matplotlib绘图的常用函数,以及如何修改默认死亡配色。前期准备导入包import numpy as np import pandas as pd import matplotlib.pyplot as plt基本设置plt.figure() # 创建画布 plt....
  • PyCharm,在 matplotlib 绘图的过程中,发现部分代码没有提示或者自动补全,想问问怎么开启?谢谢! 例如:在下面的代码中的title,LineWidth,marker,linstyle,color,grid,alpha...等各种参数,在turtle、GUI...
  • 在Python中通常情况下都是用matplotlib模块进行图表制作。 先理下,matplotlib的结构原理: matplotlib API包含有三层: 1、backend_bases.FigureCanvas : 图表的绘制领域 2、backend_bases.Renderer : 知道如何在...
  • 下面这句语法 plt.legend([内容],loc='center right',bbox_to_anchor=(n1, n2)) 其中, loc=‘center right’代表图例在中部偏右的位置,这个负责粗调 bbox_to_anchor=(n1, n2))负责微调,n1调节左右位置(自己...
  • 这次来整理一波python用matplotlib绘图的常用函数,以及如何修改默认死亡配色。 前期准备 导入包 import numpy as np import pandas as pd import matplotlib.pyplot as plt 基本设置 plt.figure() # 创建画布 plt....
  • 如何用matplotlib画图时增加箭头注释 今天学习一个绘图小技巧,用python matplot绘图时增加箭头注释。 增加箭头注释只需要两行代码 import matplotlib.pyplot as plt plt.text() plt.arrow() 那么下面来演示一下...
  • 新人学习记录1:利用matplotlib绘图主题题目题目分析个人代码实现最终成品图参考资料 主题 lz是跨考到软专的准研一新生,最近在为选导师烦恼,因为不了解所以现在正在参加某老师的选人培训课程。学长们稍微讲解了下...
  • matplotlib库支持超过100种数据可视化的显示效果,其功能十分强大。具体可访问下述网址: https://matplotlib.org/gallery.html 我们一般通过pyplot简单调用使用,引用方法很简单: 一、先看一个简单的例子...
  • 但我们重点是如何用Matplotlib绘复杂图,networkx仅仅是作为辅助,甚至你可以完全不懂它 5.Matplotlib的实际应用(networkx与matplotlib) ①最短距离用坐标分布图表示出来 先来补充些基础知识: 1.if-else的简写 1....
  • matplotlib绘图的基本元素都包括都哪些?常用的绘图API如何应用。本文做个入门介绍吧。 1 基本元素 通过一个大部分都是默认值的例子,初步认识下matplotlib中图形的基本元素,如下图所示: ...
  • 本文介绍如何用matplotlib绘制多个子图,并介绍控制它们布局的方法。按照其布局方式,分为均一排布,规整排布和跨行列排布三种。一.均一排布plt.subplots()均一排布的含义:所有子图的大小相同,规整的按行列排布在...
  • 先上中文字体的百度盘地址: ... 提取码:6666 很简单!!...找到你的环境所在地,一般...蓝字部分取决于你不用虚拟环境,如果一般是 提供虚拟环境支持的平台(比如Anaconda)/env/虚拟环境名/lib/pythonX.X/sit...
  • Python的Matplotlib绘图基础导入Matplotlib设置绘图样式显示图形创建图形和坐标轴设置图形标签设置图例将图形保存为文件 很多新手科技区小伙伴提出疑问:如何让画图如教科书般简洁优雅? 俗话说的好,工欲善其事...
  • 今天记录下如何用python画散点图、线性回归图、含置信区间的线性回归图以及双变量曲线图,下面是所有的代码: # -*- coding: utf-8 -*- """ Created on Fri May 24 22:20:30 2013 @author: Administrator """ ...
  • File "2.py", line 59, in plt.fill_between(x, y, 40, where=(y), facecolor='green', edgecolor='green') File "F:\Python27\lib\site-packages\matplotlib\pyplot.py", line 2278, in fill_between ret = ax....
  • Matplotlib 是最常用的 2D 绘图库之一,也是一款很实用的数据可视化工具,但是有时候你画出的图很难正好符合心意。比如说你可能遇到下面这些问题:   怎么更改图例上的标签名称?如何设置刻度线?怎样将比例...
  • 我想我的数据实时绘制一条线matplotlib.animationpython模块。我的代码概述是,我正在计算一个分数a,并将其存储在一个列表中(“我的平均值”),这是y坐标。分数始终在-1和+1之间。此外,我希望我的x坐标是我的...
  • 基础知识常见图形 与安装导入包列表绘图步骤多图绘制数组绘图一、绘制基础知识熟悉官方文档matplotlib.lines.Line2D - Matplotlib 3.1.3 documentation​matplotlib.org一些绘图基础知识画板figure,画纸Sublpot画质...
  • 第一个问题是,一旦启动线程,就会丢失对线程的引用.保持引用使用类变量,即self.thread而不是thread.接下来,必须在执行任何操作...由于旧的绘图仪将无家可归,因此解决方案是每次要绘制时创建新的绘图仪以及新线程.这是...
  • 上一篇文章已经教给大家如何安装matplotlib了,这篇文章,我会展示一些用matplotlib绘制一些基础的绘图功能 目标 知道如何解决中文显示问题 知道matplotlib的图结构 应用figure实现创建绘图区域大小 应用plot实现折线...
  • 其实关于matplotlib生成热力图的问题我也看过不少,但好像没有完全能的。我看到有个相似的代码如下,但缺少右边的colorbar,请问大神如何修改代码添加colorbar?: import matplotlib.pyplot as plt import ...
  • 1 准备工作pyplot官网...需要先在navigator中安装绘图包:matplotlib。#导入matplotlib的pyplot模块 import matplotlib.pyplot as plt2 plot绘制折线图2.1 绘制''' 第1步:定义x和y坐标轴上的点 ''' #x坐标轴上点...
  • 我正在尝试用matplotlib监控实时数据.我发现我可以在Pyplot中使用交互模式动态更新绘图.它运作良好,但有一个问题是“我根本无法操纵数字窗口”.例如,移动或重新调整图形窗口的大小.这是我的代码.这是互动模式的缺点...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 245
精华内容 98
关键字:

如何用matplotlib绘图