python - 从合并的 xyz 数据绘制 2D 等高线图
问题描述
编辑:我在评论中做出了回应,但我已经尝试了标记帖子中的方法——我的 z 数据不是从我的 x 和 y 计算出来的,所以我不能使用这样的函数。
我有如下所示的 xyz 数据:
新:我生成的文件中的 xyz 数据 - 我将这些数据提取为 x,y,z
我拼命地试图得到一个以 z 为颜色的 x 对 y 的图。
y 是在不均匀的 bin 中从(例如)2.5 到 0.5 的 binned 数据。因此,对于一组 x 和 z 数据,y 值都是相同的。x 数据是温度,z 是密度信息。
所以我期待一个看起来像一堆堆叠的矩形的图,其中一个 y 值箱有一个颜色渐变,它跨越了很多 x 值。
然而,我尝试过的所有代码都不喜欢我的 z 值,我能做的最好的就是:
轴看起来正确,但颜色条从 y 轴的底部到顶部,而不是在正确的 y 值处为每个 x 值绘制一个 z 值
我得到这个与这个代码一起工作:
import matplotlib.cm as cm
from matplotlib.colors import LogNorm
import numpy as np
import scipy.interpolate
data=pandas.read_csv('Data.csv',delimiter=',', header=0,index_col=False)
x=data.tempbin
y=data.sizefracbin
z=data.den
x=x.values
y=y.values
z=z.values
X,Y=np.meshgrid(x,y)
Z=[]
for i in range(len(x)):
Z.append(z)
Z=np.array(Z)
plt.pcolormesh(X,Y,Z)
plt.colorbar()
plt.show()
我已经尝试了所有我可以在网上找到的东西,比如这里的帖子:matplotlib 2D plot from x,y,z values
但是,要么重塑我的 z 值存在问题,要么它只是给了我带有各种错误的空图,所有这些都与我的 z 值有关(我认为)。
我错过了什么吗?感谢您的帮助!
编辑以回应:ImportanceOfBeingErnest
我试过这个:
import matplotlib.cm as cm
from matplotlib.colors import LogNorm
import numpy as np
import scipy.interpolate
data=pandas.read_csv('Data.csv',delimiter=',', header=0,index_col=False)
data.sort_values('sizefrac')
x=data.tempbin
y=data.sizefrac
z=data.INP
x=x.values
y=y.values
z=z.values
X=x[1:].reshape(N,N)
Y=y[1:].reshape(N,N)
Z=z[1:].reshape(N,N)
plt.pcolormesh(X,Y,Z)
plt.colorbar()
plt.show()
并得到了一个非常空的情节。刚刚向我展示了我所附图像中的轴和颜色条,但轴内是纯白色的!没有错误或任何东西......我需要从每个数据点中删除一个数据点,否则重塑将不起作用
解决方案
使链接的问题适应您的问题,您应该得到:
import numpy as np
import matplotlib.pyplot as plt
x = list(range(10))*10
y = np.repeat(list(range(10)), 10)
# build random z data
z = np.multiply(x, y)
N = int(len(z)**.5)
Z = z.reshape(N, N)
plt.imshow(Z[::-1], extent=(np.amin(x), np.amax(x), np.amin(y), np.amax(y)), aspect = 'auto')
plt.show()
推荐阅读
- vb.net - DataGridView 列标题单元格下拉过滤列表,不区分大小写
- javascript - 使用运算符的数组多条件过滤器
- android - DatabaseException:无法将 java.lang.String 类型的对象转换为类型,哪里有问题?
- mysql - MySql:由于 IF 条件填充一列?(见里面的例子;))
- python - 如何使用 SQLAlchemy 的 connection.execute 插入 CURRENT TIMESTAMP 的值
- doctrine - 如何使用迁移配置学说?
- unity3d - CharacterController 统一跳转
- azure-pipelines - 通过浏览器 UI“运行管道”定义变量时如何在脚本任务中使用变量
- reactjs - 将受控输入组件与本地和 redux 状态反应,如何管理
- python - 有没有办法为接受固定形状列表参数的python函数使用`@jit`注释?