博客
关于我
Python - 根据值绘制彩色网格
阅读量:801 次
发布时间:2023-03-05

本文共 1045 字,大约阅读时间需要 3 分钟。

在Python中,我们可以使用matplotlib库来绘制彩色网格。以下是一个简单的示例:

import matplotlib.pyplot as pltimport numpy as np

创建数据

x = np.linspace(0, 10, 100)y = np.sin(x)

设置颜色映射

cmap = plt.cm.viridis

绘制网格

plt.figure()plt.scatter(x, y, c=y, cmap=cmap)  # c参数指定颜色,这里我们使用y的值来决定颜色plt.colorbar()  # 添加颜色条plt.show()

在这个例子中,我们首先创建了一个从0到10的100个点的x数组和一个对应的sin(x)的y数组。然后,我们设置了一个颜色映射,这个颜色映射会根据y的值来决定点的颜色。最后,我们使用scatter函数绘制了这些点,并添加了一个颜色条来显示颜色的含义。

如果你想要根据其他值来决定颜色,你可以将c参数改为其他数组即可。例如,如果你的数据有两个维度,你可以使用一种不同的方法来决定每个点的颜色:

# 假设你有一个二维数组data,其中每一行代表一个点,第一列是x坐标,第二列是y坐标data = np.random.rand(100, 2)
plt.scatter(data[:,0], data[:,1], c=data[:,0], cmap=cmap)  # 只改变x坐标的值来决定颜色plt.show()

在这个例子中,我们只改变了数据数组的每个点的第一个元素(即x坐标)的值来决定点的颜色。

如果你想要更复杂的网格,你可以使用meshgrid函数来创建一个网格,然后使用scatter或者imshow函数来绘制这个网格:

# 创建网格X, Y = np.meshgrid(np.linspace(0, 10, 100), np.linspace(0, 10, 100))
# 计算Z值Z = np.sin(X) * np.cos(Y)
plt.scatter(X.ravel(), Y.ravel(), c=Z.ravel(), cmap=cmap)  # ravel函数将二维数组转换为一维数组plt.colorbar()plt.show()

在这个例子中,我们首先创建了一个从0到10的100个点的X和Y网格,然后计算了每个点在Z上的值。最后,我们使用scatter函数绘制了这个网格,并添加了一个颜色条来显示颜色的含义。

转载地址:http://fsafk.baihongyu.com/

你可能感兴趣的文章
Python C 程序子进程在“for line in iter“处挂起
查看>>
Python Celery:自动化测试平台定时任务必备的三方库
查看>>
python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令
查看>>
Python CONNECT 4 CHECK WIN函数
查看>>
python cos,Python cos(90)和cos(270)不是0
查看>>
python进阶(4):Python 脚本文件重启自身进程
查看>>
python ctypes库中动态链接库加载方式
查看>>
python cv2 图像( np array )转 HObject
查看>>
python进阶(3):文件操作
查看>>
python cv2截取不规则区域图片
查看>>
python CV2裁剪图片并保存
查看>>
python进阶(2):pyecharts使用
查看>>
python cv2读取rtsp实时码流按时生成连续视频文件
查看>>
Python Dataframe Groupby Mean和Std
查看>>
python datetime
查看>>
python datetime笔记
查看>>
python day01
查看>>
python day10
查看>>
Python Day17 Django 03
查看>>
python day21
查看>>