Python 如何在平面上绘制任意颜色函数?
在python中,假设我想编写一个python函数,获取一个点(x,y)并返回一个颜色。在矩形上绘制函数的最简单方法是什么?我已经有了numpy和matplotlib,但我愿意安装任何其他免费库。根据经验,matplotlib似乎让人有点痛苦,我不想做比以下更复杂的事情: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映
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浮点数。如果函数采用任意浮点数,输出图像应该是什么样的?单点?输出应该与您发布的图像相似。