导航:首页 > 编程语言 > pythonscatter绘图

pythonscatter绘图

发布时间:2023-07-11 16:23:40

python 绘制三维图形、三维数据散点图

1. 绘制3D曲面图

from matplotlib import pyplot as plt

import numpy as np

from mpl_toolkits.mplot3d import Axes3D

fig=plt.figure()

ax=Axes3D(fig)

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)

z=np.sin(r)

//绘面函数

ax.plot_surface(x,y,z,rstride=1,cstride=1,cmap=“rainbow”

plt.show()

2.绘制三维的散点图(表述一些数据点分布)

4a.mat数据地址:http blog.csdn.net/eddy_zhang/article/details/50496164

from matplotlib import pyplot as plt

import scipy.io as sio

from mpl_toolkits.mplot3d import Axes3D

matl=‘4a.mat’

data=sio.loadmat(matl)

m=data[‘data’]

x,y,z=m[0],m[1],m[2]

//创建一个绘图工程

ax=plt.subplot(111,project=‘3D’)

//将数据点分成三部分画,在颜色上有区分度

ax.scatter(x[:1000], y[:1000], z[:1000],c=‘y’ )//绘制数据点

ax.scatter(x[1000:4000], y[1000:4000], z[1000:4000],c=‘r’ )//绘制数据点

ax.scatter(x[4000:], y[4000:], z[4000:],c=‘g’ )//绘制数据点

ax.set_zlable(‘z’)//坐标轴

ax.set_ylable(‘y’)//坐标轴

ax.set_xlable(‘x’)

plt.show()

❷ Python 中的可视化工具介绍

几周前,R语言社区经历了一场关于画图工具的讨论。对于我们这种外人来说,具体的细节并不重要,但是我们可以将一些有用的观点运用到 Python 中。讨论的重点是 R 语言自带的绘图工具 base R 和 Hadley Wickham 开发的绘图工具 ggplot2 之间的优劣情况。如果你想了解更多细节内容,请阅读以下几篇文章:

其中最重要的两个内容是:

不是所有人都认同第二个观点,ggplot2确实无法绘制出所有的图表类型,但是我会利用它来做分析。

以下是 2016 年 4 月写的关于绘图工具的概述。出于多方面的原因,绘图工具的选取更多地取决于个人偏好,因此本文介绍的 Python 绘图工具也仅代表我的个人使用偏好。

Matplotlib 是一个强大的工具,它是 Pandas' builtin-plotting Seaborn 的基础。 Matplotlib 能够绘制许多不同的图形,还能调用多个级别的许多 API 。我发现 pyplot api 非常好用,你可能用不上 Transforms 或者 artists ,但是如果你有需求的话可以查阅帮助文档。我将从 pandas seaborn 图开始介绍,然后介绍如何调用 pyplot API

DataFrame Series 拥有 .plot 的命名空间,其中有许多图形类别可供选择(line, hist, scatter, 等等)。 Pandas 对象还提供了额外的用于增强图形展现效果的数据,如索引变量。
由于 pandas 具有更少的向后兼容的限制,所以它具有更好的美学特性。从这方面来说,我认为 pandas 中的 DataFrame.plot 是一个非常实用的快速探索性分析的工具。

Michael Waskom 所开发的 Seaborn 提供了一个高层次的界面来绘制更吸引人统计图形。 Seaborn 提供了一个可以快速探索分析数据不同特征的 API 接口,接下来我们将重点介绍它。

Bokeh 是一款针对浏览器开发的可视化工具。
matplotlib 一样,**Bokeh
** 拥有一系列 API 接口。比如 glpyhs 接口,该接口和 matplotllib 中的 Artists 接口非常相似,它主要用于绘制环形图、方形图和多边形图等。最近 Bokeh 又开放了一个新的图形接口,该接口主要用于处理词典数据或 DataFrame 数据,并用于绘制罐头图。

以下是一些本文没有提到的可视化工具:

我们将利用 ggplot2 中的 diamonds 数据集,你可以在 Vincent Arelbundock's RDatasets 中找到它(pd.read_csv(' http://vincentarelbundock.github.io/Rdatasets/csv/ggplot2/diamonds.csv') ),此外我们还需要检测是否已经安装 feather

[站外图片上传中……(4)]

Bokeh 提供了两个 API,一个是低级的 glyph API,另一个是高级的 Charts API。

[站外图片上传中……(5)]

还不是很清楚我们应该在啥时候利用 Bokeh 来进行探索性分析,不过它的交互式功能可以激发我的兴趣。就个人而言,由于习惯问题我平时仍然一直使用 matplotlib 来绘图,我还无法完全切换到 Bokeh 中。

我非常喜欢 Bokeh 的仪表盘功能和 bokeh server 的 webapps。

[站外图片上传中……(6)]

[站外图片上传中……(7)]

[站外图片上传中……(8)]

matplotlib 并不局限于处理 DataFrame 数据,它支持所有使用 getitem 作为键值的数据类型。

[站外图片上传中……(9)]

[站外图片上传中……(10)]

我们从列变量的名字中提取出轴标签,利用 Pandas 可以更加便捷地绘制一系列共享 x 轴数据的图形。

[站外图片上传中……(11)]

[站外图片上传中……(12)]

本文中的剩余部分将重点介绍 seaborn和为什么我认为它是探索性分析的强大工具。

我强烈建议你阅读 Seaborn 的 introctory notes,这上面介绍了 seaborn 的设计逻辑和应用领域。

我们可以通过一个稳定的且易懂的 API 接口来调用 Seaborn。

事实上,seaborn 是基于 matplotlib 开发的,这意味着如果你熟悉 pyplot API的话,那么你可以很容易地掌握 seaborn。

大多数 seaborn 绘图函数的参数都由 x, y, hue, 和 data 构成(并不是所有的参数都是必须的)。如果你处理的对象是 DataFrame,那么你可以直接将列变量的名称和数据集的名称一同传递到绘图函数中。

[站外图片上传中……(13)]

[站外图片上传中……(14)]

[站外图片上传中……(15)]

[站外图片上传中……(16)]

我们可以很轻易地探究两个变量之间的关系:

[站外图片上传中……(17)]

[站外图片上传中……(18)]

或者一次探究多个变量之间的关系:

[站外图片上传中……(19)]

[站外图片上传中……(20)]

pariplot 是 PairGrid 的一个包装函数,它提供了 seaborn 一个重要的抽象功能——Grid。Seaborn 的 Grid 将 matplotlib 中Figure 和数据集中的变量联系起来了。

我们有两种方式可以和 grids 进行交互操作。其一,seaborn 提供了类似于 pairplot 的包装函数,它提前设置了许多常见任务的参数;其二,如果你需要更多的自定义选项,那么你可以直接利用 Grid 方法。

[站外图片上传中……(21)]
[站外图片上传中……(22)]

[站外图片上传中……(23)]
34312 rows × 7 columns

[站外图片上传中……(24)]
[站外图片上传中……(25)]

FaceGrid 可以通过控制分面变量来生成 Grid图形,其中PairGrid是它的一个特例。接下来的案例中,我们将以数据集中的 cut 变量为分面变量来绘制图像:
[站外图片上传中……(26)]

[站外图片上传中……(27)]
最后一个案例展示了如何将 seaborn 和 matplotlib 结合起来。g.axes是matplotlib.Axes的一个数组,g.fig是matplotlib.Figure的一个特例。这是使用 seaborn 时常见的一个模式:利用 seaborn 的方法来绘制图像,然后再利用 matplotlib 来调整细节部分。

我认为 seaborn 之所以吸引人是因为它的绘图语法具有很强的灵活性。你不会被作者所设定的图表类型所局限住,你可以根据自己的需要创建新的图表。
[站外图片上传中……(28)]

[站外图片上传中……(29)]

[站外图片上传中……(30)]

[站外图片上传中……(31)]

本来,我打算准备更多的例子来介绍 seaborn,但是我会将相关链接分享给大家。Seaborn 的说明文档写的非常详细。

最后,我们将结合 scikit-learn 来介绍如何利用 GridSearch 来寻找最佳参数。
[站外图片上传中……(32)]

[站外图片上传中……(33)]

[站外图片上传中……(34)]

原文链接: http://tomaugspurger.github.io/modern-6-visualization.html

译者:Fibears

❸ Python实现彩色散点图绘制(利用色带对散点图进行颜色渲染)

接受自己的普通,然后全力以赴的出众,告诉自己要努力,但不要着急....

当然, 这个结果并不是我真正想要的,Pass, 太丑了!

好吧,安排,我们先看下实现后的效果!

这个效果自然就比之前的好多了!

实现python散点图绘制需要用到matplotlib库, matplotlib库是专门用于可视化绘图的工具库;学习一个新的库当然看官方文档了: https://www.osgeo.cn/matplotlib/contents.html

实现思路:

matplotlib.pyplot.scatter() 函数是专门绘制散点图的函数: https://www.osgeo.cn/matplotlib/api/_as_gen/matplotlib.pyplot.scatter.html?highlight=scatter#matplotlib.pyplot.scatter

matplotlib.pyplot.scatter ( x, y , s=None , c=None , marker=None , cmap=None , norm=None , vmin=None , vmax=None , alpha=None , linewidths=None , verts=None , edgecolors=None , ***, data=None , ** kwargs ) **

plt.scatter(observation, estimate, c=Z1, cmap=colormap, marker=".", s=marker_size, norm=colors.LogNorm(vmin=Z1.min(), vmax=0.5 * Z1.max()))
其中:
1、c参数为计算的散点密度;
2、cmap为色带(matplotlib里面自带了很多色带可供选择),参见:
https://www.osgeo.cn/matplotlib/gallery/color/colormap_reference.html
3、由于计算的散点密度数值大小分散,因此利用norm参数对散点密度Z1进行归一化处理(归一化方式很多,参见colors类),并给归一化方式设置色带刻度的最大最小值vmin和vmax(一般这两个参数就是指定散点密度的最小值和最大值),这样就建立起了密度与色带的映射关系。
https://matplotlib.org/tutorials/colors/colormapnorms.html

(这里的结果与前面展示的相比改变了计算散点密度的半径:radius = 3以及绘制散点图的散点大小marksize)

作者能力水平有限,欢迎各位批评指正!

❹ 彩色折线散点图python怎么指定数据

一、导包

二、绘制简单折线

1、在利用pandas模块进行操作前,可以先引入这个模块,如下:

2、读取Excel文件的两种方式:

三、pandas操作Excel的行列

1、读取指定的单行,数据会存在列表里面

2、读取指定的多行,数据会存在嵌套的列表里面

3、读取指定的行列

4、读取指定的多行多列值

5、获取所有行的指定列

6、获取行号并打印输出

7、获取列名并打印输出

8、获取指定行数的值

四、pandas处理Excel数据成为字典

五、绘制简单折线图

六、绘制简单散点图

使用scatter绘制散点图并设置其样式

1、绘制单个点,使用函数scatter,并向它传递x,y坐标,并可使用参数s指定点的大小

2、绘制一系列点,向scatter传递两个分别包含x值和y值的列表

3、设置坐标轴的取值范围:函数axis()要求提供四个值,x,y坐标轴的最大值和最小值

4、使用参数edgecolor在函数scatter中设置数据点的轮廓

5、向scatter传递参数c,指定要使用的颜色

6、使用颜色映射

7、自动保存图表:使用函数plt.savefig()

8、设置绘图窗口尺寸

9、实例程序

阅读全文

与pythonscatter绘图相关的资料

热点内容
clion怎么使用终端编译 浏览:764
服务器地址部署到公网 浏览:492
新桑塔纳安卓大屏导航怎么拆 浏览:382
程序员送给女友的礼物 浏览:430
ftp命令行查看文件数量 浏览:496
linux查看设备的命令 浏览:827
pythongolang学哪个 浏览:349
金蝶加密锁驱动下载 浏览:300
python编程基于自然语言处理库 浏览:133
javaseruntime 浏览:902
cad如何将命令放在鼠标旁边 浏览:746
程序员对粉色 浏览:125
编译器命令java 浏览:989
云服务器怎么数据同步 浏览:685
c盘文件修复命令语 浏览:966
文件夹中文件怎么上下移动 浏览:831
魅族手机用什么软件解压 浏览:763
加密币糖果 浏览:300
c编译调试是什么 浏览:631
安装mysql服务命令 浏览:734