我试图用pyplot.hexbin在六边形网格上显示二维函数,但它只生成一条线并忽略了函数的其余部分.我该如何解决这个问题?

def func(x,y):
    return x*2+y*2

x = np.linspace((-0.5)/4*5, (0.5)/4*5, int(2e3))   
y = np.linspace(-0.5, 0.5, int(2e3))    

plt.hexbin(x,
           y,
           func(x,y), 
           gridsize=(8,4),
           cmap='gnuplot')
plt.show()

enter image description here

推荐答案

func(x,y)函数 for each (x,y)对返回一个纯量值,但hexbin期望x和y是代表坐标的相同长度的array.输入另一个带有纯量值的数组Z,这些值将是每个十六进制的 colored颜色 . try :

import numpy as np
import matplotlib.pyplot as plt

def func(x,y):
    return x*2+y*2

x = np.linspace((-0.5) / 4 * 5, (0.5) / 4 * 5, int(2e3))
y = np.linspace(-0.5, 0.5, int(2e3))
X, Y = np.meshgrid(x, y)

# Evaluate the function for each combination of x and y
Z = func(X, Y)

plt.hexbin(X.flatten(),    # Flatten X and Y to 1D arrays
           Y.flatten(),
           C=Z.flatten(),  # Flatten Z to 1D array for color values
           gridsize=(8, 4),
           cmap='gnuplot')

plt.show()

您还可以在演出前添加彩色条,例如:

plt.colorbar(label='Function Value')

Python相关问答推荐

获取2个字节之间的异或

从流程获取定期更新

云上Gunicorn的Flask-socketIO无法工作

Python中两个矩阵的自定义Hadamard风格产物

Django注释:将时差转换为小数或小数

Polars -转换为PL后无法计算熵.列表

了解shuffle在NP.random.Generator.choice()中的作用

Image Font生成带有条形码Code 128的条形码时出现枕头错误OSErsor:无法打开资源

Python -Polars库中的滚动索引?

当密钥是复合且唯一时,Pandas合并抱怨标签不唯一

具有多个选项的计数_匹配

如何自动抓取以下CSV

点到面的Y距离

当多个值具有相同模式时返回空

运行终端命令时出现问题:pip start anonymous"

如何列举Pandigital Prime Set

C#使用程序从Python中执行Exec文件

如果初始groupby找不到满足掩码条件的第一行,我如何更改groupby列,以找到它?

在输入行运行时停止代码

替换现有列名中的字符,而不创建新列