如何修改二维散点图以显示csv文件中基于第三个数组的颜色?

2024-05-29 01:53:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python和CSV文件。我正在尝试修改下面的散点图(2d),以根据csv文件中的第三列更改颜色。在搜索了多个帖子之后,我基本上想使用一个通用的colormap(rainbow)并将我的第三个数组乘以colormap,以便为每个xy点显示不同的颜色。我想我可以从ax.scatter函数中做任何事情,但是我不知道如何将每个不同的x,y坐标乘以colormap和第三个数组号。它看起来应该类似于等高线图,但我更喜欢不同颜色的散点图。

下面是我使用的代码:

import matplotlib   
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas    
from matplotlib.figure import Figure
import matplotlib.mlab as mlab
import numpy as np

r = mlab.csv2rec('test.csv')
fig = Figure(figsize=(6,6))
canvas = FigureCanvas(fig)

ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')

x = r.xavg #first column
y = r.yavg #second column
z = r.wtr #third column

ax.scatter(x,y,s=.2,c='b', marker = ',', cmap = ?);

Tags: 文件csvimportmatplotlib颜色asfigcolumn
1条回答
网友
1楼 · 发布于 2024-05-29 01:53:17

看看散射线

import matplotlib.pyplot as plt
from matplotlib  import cm
import numpy as np

fig = plt.figure(figsize=(6,6))
ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')
x = np.random.random(30)
y = np.random.random(30)
z = np.random.random(30)

# scatter with colormap mapping to z value
ax.scatter(x,y,s=20,c=z, marker = 'o', cmap = cm.jet );

plt.show()

它产生

enter image description here

相关问题 更多 >

    热门问题