Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在平面上绘制任意颜色函数?_Python_Matplotlib - Fatal编程技术网

Python 如何在平面上绘制任意颜色函数?

Python 如何在平面上绘制任意颜色函数?,python,matplotlib,Python,Matplotlib,在python中,假设我想编写一个python函数,获取一个点(x,y)并返回一个颜色。在矩形上绘制函数的最简单方法是什么?我已经有了numpy和matplotlib,但我愿意安装任何其他免费库。根据经验,matplotlib似乎让人有点痛苦,我不想做比以下更复杂的事情: from library import plot def f(x, y): # etc plot(f, xmin=0, xmax=1, ymin=0, ymax=1) 下面是一个示例,其中颜色函数f将坐标x和y映

在python中,假设我想编写一个python函数,获取一个点(x,y)并返回一个颜色。在矩形上绘制函数的最简单方法是什么?我已经有了numpy和matplotlib,但我愿意安装任何其他免费库。根据经验,matplotlib似乎让人有点痛苦,我不想做比以下更复杂的事情:

from library import plot

def f(x, y):
    # etc

plot(f, xmin=0, xmax=1, ymin=0, ymax=1)

下面是一个示例,其中颜色函数
f
将坐标
x
y
映射到RGB数组。给定网格上的一些输入坐标,您可以计算
f
,并将其显示为图像

import numpy as np
import matplotlib.pyplot as plt

# color function, from input (x,y) in the range between 0 and 1
# return an RGB tuple
f = lambda x,y: np.stack((x,np.zeros_like(x),y), axis=2)

# input grid of values between 0 and 1
X,Y = np.meshgrid(np.linspace(0,1,51),np.linspace(0,1,51))
# plot function:
plt.imshow(f(X,Y))

plt.show()

但是f不是一个取x和y的函数,对吗?我必须确保对f进行编程,使其与numpy阵列兼容,而不是只关注给定像素的颜色逻辑。f将两个numpy阵列
x
y
作为输入。您对
x
y
的具体要求是什么?它们都是python浮点数。如果函数采用任意浮点数,输出图像应该是什么样的?单点?输出应该与您发布的图像相似。