python matplotlib 图像可视化

python matplotlib 图像可视化,第1张

Python画图之总结待整理

https://morvanzhou.github.io/tutorials/data-manipulation/plt/

http://blog.sciencenet.cn/blog-1408284-850983.html

http://www.cnblogs.com/DHUtoBUAA/p/6619099.html

http://blog.csdn.net/wuguangbin1230/article/details/72858612

http://blog.sciencenet.cn/blog-251664-800766.html

http://blog.csdn.net/wuguangbin1230/article/details/72858612

http://www.jianshu.com/p/0a81b57bbb8c

https://pythonprogramming.net/

http://blog.csdn.net/haoji007/article/details/52063168

Python Data Visualizations

Seaborn 库: https://seaborn.pydata.org/

Python Seaborn 教程: http://elitedatascience.com/python-seaborn-tutorial

matplotlib: plotting with Python

matplotlib: plotting with Python-github

python-data-visualization-course

Interactive Web Plotting for Python

Interactive Web Plotting for Python-github

https://morvanzhou.github.io/tutorials/data-manipulation/plt/3-3-contours/

https://github.com/MorvanZhou/tutorials/tree/master/matplotlibTUT

https://github.com/jiandanjinxin/tf-dev-summit-tensorboard-tutorial

https://github.com/jiandanjinxin/tensorflow-mnist-tutorial

CSDN-markdown编辑器语法——字体、字号与颜色

%matplotlib inline

%matplotlib notebook

Need to use either

or

Only one in each notebook! using inline will just sent png images to browser, using notebook will provide interactivity and allow updating old figures. With notebook you need to make sure to create a new figure before plotting, otherwise the last one will be updated!

还有简便的 plt.close('all') 关闭所有图,不用管 fig 号码

Some plots from these tutorials:

调整名字和间隔

设置不同名字和位置

调整坐标轴

参数loc='upper right'

表示图例将添加在图中的右上角.

调整位置和名称

最后我们得到带有图例信息的图片.

移动坐标

然后我们挪动坐标轴的位置.

然后标注出点(x0, y0)的位置信息. 用plt.plot([x0, x0,], [0, y0,], 'k--', linewidth=2.5)

画出一条垂直于x轴的虚线.

添加注释 annotate

接下来我们就对(x0, y0)这个点进行标注.

其中参数xycoords='data'

是说基于数据的值来选位置,xytext=(+30, -30)

和textcoords='offset points'

对于标注位置的描述 和 xy 偏差值,arrowprops

是对图中箭头类型的一些设置.

添加注释 text

其中-3.7, 3,

是选取text的位置, 空格需要用到转字符

,fontdict

设置文本字体.

生成图形

当图片中的内容较多,相互遮盖时,我们可以通过设置相关内容的透明度来使图片更易于观察,也即是通过本节中的bbox

参数设置来调节图像信息.

首先参考之前的例子, 我们先绘制图像基本信息:

调整坐标

然后对被遮挡的图像调节相关透明度,本例中设置 x轴 和 y轴 的刻度数字进行透明度设置

其中label.set_fontsize(12)重新调节字体大小,bbox设置目的内容的透明度相关参,facecolor调节 box 前景色,edgecolor 设置边框, 本处设置边框为无,alpha设置透明度. 最终结果如下:

散点图

首先,先引入matplotlib.pyplot简写作plt,再引入模块numpy用来产生一些随机数据。生成1024个呈标准正态分布的二维数据组 (平均数是0,方差为1) 作为一个数据集,并图像化这个数据集。每一个点的颜色值用T来表示:

数据集生成完毕,现在来用scatterplot这个点集,鼠标点上去,可以看到这个函数的各个parameter的描述,如下图:

输入X和Y作为location,size=75,颜色为T,color map用默认值,透明度alpha 为 50%。 x轴显示范围定位(-1.5,1.5),并用xtick()函数来隐藏x坐标轴,y轴同理:

今天的柱状图分成上下两部分,每一个柱体上都有相应的数值标注,并且取消坐标轴的显示。

生成基本图形

向上向下分别生成12个数据,X为 0 到 11 的整数 ,Y是相应的均匀分布的随机数据。使用的函数是plt.bar

,参数为X和Y:

这样我们就生成了下图所示的柱状图基本框架:

现在的结果呈现:

接下来我们用函数plt.text分别在柱体上方(下方)加上数值,用%.2f保留两位小数,横向居中对齐ha='center',纵向底部(顶部)对齐va='bottom':

最终的结果就像开始一样:

画等高线

数据集即三维点 (x,y) 和对应的高度值,共有256个点。高度值使用一个 height function f(x,y) 生成。 x, y 分别是在区间 [-3,3] 中均匀分布的256个值,并用meshgrid在二维平面中将每一个x和每一个y分别对应起来,编织成栅格:

接下来进行颜色填充。使用函数plt.contourf把颜色加进去,fill, 位置参数分别为:X, Y, f(X,Y)。透明度0.75,并将 f(X,Y) 的值对应到color map的暖色组中寻找对应颜色。8代表等高线的个数。

接下来进行等高线绘制。使用plt.contour函数划线。位置参数为:X, Y, f(X,Y)。颜色选黑色,线条宽度选0.5。现在的结果如下图所示,只有颜色和线条,还没有数值Label:

添加高度数字

其中,8代表等高线的密集程度,这里被分为10个部分。如果是0,则图像被一分为二。

最后加入Label,inline控制是否将Label画在线里面,字体大小为10。并将坐标轴隐藏:

随机矩阵画图

这一节我们讲解怎样在matplotlib中打印出图像。这里我们打印出的是纯粹的数字,而非自然图像。 我们今天用这样 3x3 的 2D-array 来表示点的颜色,每一个点就是一个pixel。

colorbar

下面我们添加一个colorbar ,其中我们添加一个shrink参数,使colorbar的长度变短为原来的92%:

3D

首先在进行 3D Plot 时除了导入 matplotlib ,还要额外添加一个模块,即 Axes 3D 3D 坐标轴显示:

之后要先定义一个图像窗口,在窗口上添加3D坐标轴,显示成下图:

接下来给进 X 和 Y 值,并将 X 和 Y 编织成栅格。每一个(X, Y)点对应的高度值我们用下面这个函数来计算。

其中,rstride 和 cstride 分别代表 row 和 column 的跨度。

下面两个图分别是跨度为1 和 5 的效果:

投影

下面添加 XY 平面的等高线:

如果 zdir 选择了x,那么效果将会是对于 XZ 平面的投影,效果如下

二维图行的colorbar命令运行后的资料:(Colorbar)项,或者单击图形工具条的颜色条按钮,或者通过colorbar命令来添加颜色条。首先,如果想在生成的图片中加上colorbar,有两种方式:

1:在生成的Figure图像的菜单栏: Insert—Colorbar, 或者单击上方快捷区添加colorbar,见下图:

2:命令行直接写上

colorbar

如果想随意指定位置:

colorbar('position',[0.95 0.1 0.04 0.8])

方括号里的数据分别指的是:colorbar最左下角点的横坐标、纵坐标、宽度、高度。可以尝试改变一下其中的数据看一下变化。

其次,有时候生成的colorbar并不是我们想要的那样,怎样随意调整colorbar的数值范围和位置


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11259219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存