Python Pyx:graph.style.rect 的 color.gradient
Posted
技术标签:
【中文标题】Python Pyx:graph.style.rect 的 color.gradient【英文标题】:Python Pyx: color.gradient for graph.style.rect 【发布时间】:2020-09-07 21:41:42 【问题描述】:我想用python中的PyX
包做一个密度图。
我用代码
from pyx import *
import numpy
import math
from pyx.graph import axis
g = graph.graphxy(height=8, width=8,
x=graph.axis.linear(min=0.0, max=2.0, title=r"$x-axis$"),
y=graph.axis.linear(min=0.0, max=2.0, title=r'$y-axis$'))
g.plot(graph.data.file("datatotest.dat", xmin=1, xmax=2, ymin=3, ymax=4, color=5, title=r"$bar$"),
[graph.style.rect(gradient=color.gradient.Gray)]
)
g.writePDFfile()
我使用数据
0 1 0 1 0.12
0 1 1 2 0.56
1 2 0 1 0.98
1 2 1 2 0.23
我得到了结果
我想要更多有趣的颜色。
但是使用color.gradient.Rainbow
会给出错误信息:
“颜色空间字符串不适用于 hsb 颜色”
.
color.gradient.Hue.
和使用 Reverse 时遇到类似错误。
问题:除了灰色之外,还有什么其他颜色渐变?
【问题讨论】:
为什么不直接使用 matplotlib? 【参考方案1】:问题是由于右侧的渐变以及此处使用位图进行优化以实现良好压缩。不幸的是,位图不适用于 HSB 颜色。现在,解决方案相当简单,因为彩虹(和其他渐变)也转换为不同的颜色空间。在您的情况下,您可以使用 color.rgbgradient.Rainbow 或 color.cmykgradient.Rainbow 等,具体取决于您希望在输出中使用的颜色空间。
【讨论】:
【参考方案2】:我曾经做过类似的事情。我为数据与 seaborn.heatmap 的某些相关性创建了一个热图,您应该尝试一下。 https://seaborn.pydata.org/generated/seaborn.heatmap.html
【讨论】:
以上是关于Python Pyx:graph.style.rect 的 color.gradient的主要内容,如果未能解决你的问题,请参考以下文章