202102-24 matplotlib bar()实现多组数据并列柱状图通用简便创建方法 在使用柱状图时,经常遇到需要多组数据进行比较的情况。绘制单个数据系列的柱形图比较简单,多组数据柱状图绘制的关键有三点:多次调用bar()函数即可在同一子图中绘制多组柱形图。为了防止柱子重叠,每个柱子在x轴上的位置需要依次递增,如果柱子紧挨,这个距离即柱子宽度。为了使刻度标签居中,需要调整x轴刻度标签的位置。由上述可知,多组数据并列柱状图需要计算柱子x轴上的位置和x轴刻度标签。因此,有两种实现方案... 继续阅读 >
202102-23 matplotlib grid()设置网格线外观的实现 grid()函数概述grid()函数用于设置绘图区网格线。grid()的函数签名为matplotlib.pyplot.grid(b=None,which='major',axis='both',**kwargs)。grid()的参数如下:b:是否显示网格线。布尔值或None,可选参数。如果没有关键字参数,则b为True,如果b为None且没有关键字参数,相当于切换网格线的可见性。which:网格线显示的尺度。字符串,可选参数,取值范围为{'major','minor','both'},默认为'both'。'major'为主刻度、'mi... 继续阅读 >
202102-23 matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel()) 在pyplot模块中可以使用xlabel()和ylabel()函数设置x轴y轴的标签。这两个函数的使用方法非常相似。使用xlabel()设置x轴标签函数签名为matplotlib.pyplot.xlabel(xlabel,fontdict=None,labelpad=None,*,loc=None,**kwargs)参数作用及取值如下:xlabel:类型为字符串,即标签的文本。labelpad:类型为浮点数,默认值为None,即标签与坐标轴的距离。loc:取值范围为{'left','center','right'},默认值为rcParams["xaxis.... 继续阅读 >
202102-23 matplotlib之pyplot模块之标题(title()和suptitle()) matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)添加链接描述简单比较了matplotlib中的标题。使用title()设置子图标题title()可同时在子图中显示中间、左侧、右侧3个标题。函数签名为matplotlib.pyplot.title(label,fontdict=None,loc=None,pad=None,*,y=None,**kwargs)参数作用及取值如下:label:类型为字符串,即标题文本。fontdict:类型为字典,控制文本的字体属性。默认值为:{'fontsize'... 继续阅读 >
202102-23 matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异) 在matplotlib中常用的标题主要三种:窗口标题、图像标题和子图标题。先通过三个案例简要说明这三类标题的实现。窗口标题、图像标题,子图标题(仅1个子图)importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']='SimHei'fig=plt.figure()plt.plot([1,2])#设置图像标题plt.suptitle("这是图像标题")#设置子图标题plt.title("这是子图标题")#获取默认窗口标题current_title=fig.canvas.manager.window.windowT... 继续阅读 >
202102-23 matplotlib绘制正余弦曲线图的实现 序言:在python里面,数据可视化是python的一个亮点。在python里面,数据可视可以达到什么样的效果,这当然与我们使用的库有关。python常常需要导入库,并不断调用方法,就很像一条流数据可视化的库,有很多,很多都可以后续开发,然后我们调用。了解过pyecharts美观的可视化界面,将pyecharts和matplotlib相对比一下。pyecharts和matplotlib的区别在哪里呢?Matplotlib是Python数据可视化库的泰斗,尽管已有十多年的历史,但仍然... 继续阅读 >
202102-21 python 利用matplotlib在3D空间中绘制平面的案例 图形:0、importimportnumpyasnpimportmatplotlibasmplfrommatplotlibimportcmfrommatplotlibimportpyplotaspltfrommpl_toolkits.mplot3dimportAxes3D1、水平和垂直平面#创建画布fig=plt.figure(figsize=(12,8),facecolor='lightyellow')#创建3D坐标系ax=fig.gca(fc='whitesmoke',projection='3d')#二元函数定义域平面x=np.linspace(0,9,9)y=np.linspace(0,9,9)X,Y=np.mes... 继续阅读 >
202102-21 python 利用matplotlib在3D空间绘制二次抛物面的案例 图形预览:0、importimportnumpyasnpfrommatplotlibimportpyplotaspltfrommpl_toolkits.mplot3dimportAxes3D1、开口向上的抛物面fig=plt.figure(figsize=(9,6),facecolor='khaki')ax=fig.gca(projection='3d')#二元函数定义域平面集x=np.linspace(start=-3,stop=3,num=100)y=np.linspace(start=-3,stop=3,num=100)X,Y=np.meshgrid(x,y)... 继续阅读 >
202102-20 matplotlib事件处理基础(事件绑定、事件属性) 谈到用户界面交互总少不了事件,前面一系列文章介绍的鼠标光标、坐标、弹出式提示框等实现的底层其实都是事件处理,只不过matplotlib或其他包做了封装以便于应用。matplotlib的事件处理模型基于GTK,matplotlib支持与wxpython、tkinter、qt、gtk等常见GUI后端的交互。事件绑定matplotlib的事件绑定有三个要素:canvas对象事件名称回调函数matplotlib的事件绑定由canvas对象调用mpl_connect方法实现,mpl_connect方法有两个... 继续阅读 >
202102-20 matplotlib相关系统目录获取方式小结 一、获取matplotlib的安装位置导入matplotlib,打印__file__属性,即可显示matplotlib包的安装位置。In[1]:importmatplotlibIn[2]:matplotlib.__version__Out[2]:'3.3.2'In[3]:matplotlib.__file__Out[3]:'d:\\ProgramData\\Anaconda3\\lib\\site-packages\\matplotlib\\__init__.py二、获取matplotlib的配置目录配置目录获取比较复杂,遵循以下规律:如果设置了MPLCONFIGDIR环境变量,那么配置目录就是该变量对应目录。... 继续阅读 >
202102-20 详解matplotlib绘图样式(style)初探 样式是定义图表可视化外观的配置,它由一组预置的rcParams参数构成。matplotlib预置了一系列样式风格,可直接使用。样式使用方法样式相关模块为style。1.显示本机可用样式matplotlib.style.available返回本机可用样式的列表。列表只读,样式更新后,需要使用reload_library()重新加载样式。In[1]:importmatplotlib.styleasstyleIn[2]:style.availableOut[2]:['Solarize_Light2','_classic_test_patch','bmh','classic',... 继续阅读 >
202102-20 matplotlib更改窗口图标的方法示例 matplotlib窗口图标默认是matplotlib的标志,如果想修改怎么改呢?由于我选择的matplotlib后端是PyQT5,直接查看matplotlib.backends.backend_qt5模块源码。原理查看源码可知,窗口图标功能定义在FigureManagerQT类中,设置的默认图标是mpl-data\images\matplotlib.svg。FigureManagerQT的父类是FigureManagerBase,其功能是作为容器隔离matplotlib图像和后端实现的窗口,并与窗口进行交互,它会自动适配matplotlib选用的后端。这... 继续阅读 >
202102-02 matplotlib部件之矩形选区(RectangleSelector)的实现 矩形选区概述矩形选区是一种常见的对象选择方式,这个名词最常见于Photoshop中,用于在一个子图选择鼠标拖动的矩形区域中的元素,在matplotlib中的矩形选区属于部件(widgets),matplotlib中的部件都是中性(neutral)的,即与具体后端实现无关。矩形选区具体实现定义为matplotlib.widgets.RectangleSelector类,继承关系为:Widget->AxesWidget->_SelectorWidget->RectangleSelector。RectangleSelector类的签名为classmatplot... 继续阅读 >
202101-26 python如何用matplotlib创建三维图表 Matplotlib最开始被设计为仅支持二维的图表。到1.0版本发布左右,一些三维图表的工具在二维展示的基础上被创建了出来,结果就是Matplotlib提供了一个方便的(同时也是有限的)的可用于三维数据可视化的一套工具。三维图表可以使用载入mplot3d工具包来激活,这个包会随着Matplotlib自动安装:frommpl_toolkitsimportmplot3d一旦模块被导入,三维axes就可以像其他普通axes一样通过关键字参数projection='3d'来创建:im... 继续阅读 >
202101-22 详解matplotlib中pyplot和面向对象两种绘图模式之间的关系 matplotlib有两种绘图方式,一种是依托matplotlib.pyplot模块实现类似matlab绘图指令的绘图方式,一种是面向对象式绘图,依靠FigureCanvas(画布)、Figure(图像)、Axes(轴域)等对象绘图。这两种方式之间并不是完全独立的,而是通过某种机制进行了联结,pylot绘图模式其实隐式创建了面向对象模式的相关对象,其中的关键是matplotlib._pylab_helpers模块中的单例类Gcf,它的作用是追踪当前活动的画布及图像。因此,可以说matpl... 继续阅读 >
202101-13 matplotlib交互式数据光标实现(mplcursors) 简介mplcursors包也可以为matplotlib提供交互式的数据光标(弹出式注释框),它的灵感来源于mpldatacursor包,可以认为是基于mpldatacursor包的二次开发。相对于mpldatacursor包,mplcursors包最大的特点就是提供了一些相对底层的API,这样功能实现更加灵活。安装pipinstallmplcursors基本应用mplcursors包的基本应用方法与mpldatacursor包类似,直接应用cursor函数即可。基本操作方法鼠标左键单击图表数据元素时会弹出文本框... 继续阅读 >