1.Figure和Subplot
import numpy as np import matplotlib.pyplot as plt #创建一个Figure fig = plt.figure() #不能通过空figure绘图,必须使用add_subplot创建一个或多个subplot #图像为2x2,第三个参数为当前选中的第几个 ax1 = fig.add_subplot(2, 2, 1) ax2 = fig.add_subplot(2, 2, 2) ax3 = fig.add_subplot(2, 2, 3) #默认在最后一个subplot上绘制 #'k--'为线型选项,绘制黑色虚线 plt.plot(np.random.randn(50).cumsum(), 'k--') print(type(ax1))#<class 'matplotlib.axes._subplots.AxesSubplot'> #直接调用它们的实例方法就可以在其他格子绘图 _ = ax1.hist(np.random.randn(100), bins=20, color='k', alpha=0.3) ax2.scatter(np.arange(30), np.arange(30) + 3 * np.random.randn(30)) plt.show()
fig, axes = plt.subplots(2, 2, sharex=True, sharey=True)#创建一个新的Figure,并返回一个已创建subplot对象的NumPy数组 #可以索引axes[0,1],axes[0][1] ''' plt.subplots的选项 nrows:subplot的行数 ncols:subplot的列数 sharex:所有subplot应该使用相同的x轴刻度(调节xlim将会影响所有subplot) sharey:所有subplot应该使用相同的y轴刻度(调节ylim将会影响所有subplot) subplot_kw:用于创建各subplot的关键字字典 **fig_kw:创建figure时其他关键字,如plt.subplots(2,2,figsize=(8,6)) ''' for i in range(2): for j in range(2): axes[i,j].hist(np.random.randn(500),bins=50, color='k',alpha=0.5) #调整subplot周围间距 #plt.subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=None,hspace=None) plt.subplots_adjust(wspace=0, hspace=0) plt.show()
2.颜色、标记和线型
#ax.plot(x,y,'g--') #ax.plot(x, y, linestyle='--', color='g') #plt.plot(np.random.randn(30).cumsum(), 'ko--') #plt.plot(np.random.randn(30).cumsum(), color='k', linestyle='dashed', marker='o') #线型图中,非实际数据点默认是按线性方式插值的,可以通过drawstyle选项修改 data = np.random.randn(30).cumsum() plt.plot(data, 'k--', label='Defalt') plt.plot(data, 'k-', drawstyle='steps-post', label='steps-post') plt.legend(loc='best')
3.刻度、标签和图例
xlim,xticks,xticklabels之类的方法。它们分别控制图表的范围、刻度位置、刻度标签等。
其使用方式有以下两种:
这些方法对当前或最近创建的AxesSubplot起作用
对应在subplot对象上的两个方法,如ax.get_xlim和ax.set_xlim
3.1.设置标题、轴标签、刻度以及刻度标签
fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.plot(np.random.randn(1000).cumsum()) #改变X轴的刻度,最简单的方法是使用set_xticks和set_xticklabels。 #前者告诉刻度放在数据范围中的哪些位置,默认情况下,这些位置是刻度标签,可以用set_xticklabels设置。 a=ax.set_xticks([0,250,500,750,1000]) b=ax.set_xticklabels(['one','two','three','four','five'],rotation=30,fontsize='small') ax.set_xlabel('Stages') plt.show()
3.2.添加图例(legend)、注解以及在Subplot上绘图
两种方式,最简单的是在添加subplot的时候传入label参数
fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.plot(np.random.randn(1000).cumsum(), 'k', label='one') ax.plot(np.random.randn(1000).cumsum(), 'k--', label='two') ax.plot(np.random.randn(1000).cumsum(), 'k.', label='three') ax.legend(loc='best') #loc表示将图例放在哪 #从图例中去除一个或多个元素,不传入label或label='_nolegend_'即可 #注解以及在Subplot上绘图 #注解可以通过text,arrow和annotate等函数进行添加。 #text可以将文本绘制在图标的指定坐标(x,y),还可以加上一些自定义格式 #ax.text(x ,y, 'Hello world!',family='monosapce',fontsize=10) plt.show()
3.3.将图表保存到文件
plt.savefig('filepath.svg')
plt.savefig('filepath.svg', dpi=400,bbox_inches='tight')
Figure.savefig参数
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
OpenGL API提供了绘制基本图形元素(如点,顶点,直线等)的基本方法。使用这些方法,您可以开发三角形,多边形和圆形等形状。 在2D和3D维度中。 本章将教您如何在Java程序中使用JOGL绘制基本行。 绘图对象 要访问特定于硬件和操作系统平台的程序以及使用其他语言(如C和C ++(本机应用程序)编写库),Java使用称为Java Native Interface (JNI)的编程框架。 JO
关于 Photoshop 图层 Photoshop 图层就如同堆叠在一起的透明纸。您可以透过图层的透明区域看到下面的图层。可以移动图层来定位图层上的内容,就像在堆栈中滑动透明纸一样。也可以更改图层的不透明度以使内容部分透明。图层上的透明区域可让您看到下面的图层。 可以使用图层来执行多种任务,如复合多个图像、向图像添加文本或添加矢量图形形状。可以应用图层样式来添加特殊效果,如投影或发光。 图层简介图
关于位图图像 位图图像(在技术上称作栅格图像)使用图片元素的矩形网格(像素)表现图像。每个像素都分配有特定的位置和颜色值。在处理位图图像时,您所编辑的是像素,而不是对象或形状。位图图像是连续色调图像(如照片或数字绘画)最常用的电子媒介,因为它们可以更有效地表现阴影和颜色的细微层次。 位图图像与分辨率有关,也就是说,它们包含固定数量的像素。因此,如果在屏幕上以高缩放比率对它们进行缩放或以低于创建时的
本文向大家介绍javascript基础知识讲解,包括了javascript基础知识讲解的使用技巧和注意事项,需要的朋友参考一下 本篇适合javascript新手或者学了前端一段时间,对js概念不清晰的同学~~。 学习目的 本文针对javascript基础薄弱的同学,可以加深对javascript的理解。 本文将讲述以下几点对于初学者开说javascript(有的是大部分语言都有的)的坑 讲解内容如
本文向大家介绍WebPack基础知识详解,包括了WebPack基础知识详解的使用技巧和注意事项,需要的朋友参考一下 1、什么是Webpack WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。 2、为什要使用WebPack 今的很多网页
本文向大家介绍Ruby基础知识之方法、代码段,包括了Ruby基础知识之方法、代码段的使用技巧和注意事项,需要的朋友参考一下 Ruby中的方法是一个有名称的代码块,是与一个或多个对象关联的参数化的代码。调用时须给出方法名,接收者(所在对象),参数值,且最后一个表达式的值做为返回值。与Ruby方法相似的是代码块,它没有名字,且调用时只通过迭代器或被间接调用。 (一)方法 (1)定义方法 定义方法就