当前位置: 首页 > 面试题库 >

堆叠颜色图

能翔宇
2023-03-14
问题内容

是否有一种简单的方法可以通过将两个现有的颜色图堆叠在一起来形成新的颜色图?

我要实现的目标是制作另一个颜色编码的散点图,其中颜色映射的变量从大的负值到大的正值不等,我想将值调低到零左右-
基本上,我希望能够从股票颜色图(例如,cm.Blues_r)中选择颜色映射变量的负值,并从另一个颜色(例如,cm.Oranges)中选择该变量的正值。


问题答案:

这未经测试,但作为第一步,我将尝试制作一个简单的子类colors.Colormap

class split_cmap(colors.Colormap):
    def __init__(self, cmap_a, cmap_b, split=.5):
        '''Makes a split color map cmap_a is the low range, 
           cmap_b is the high range
           split is where to break the range
        '''
        self.cmap_a, self.cmap_b = cmap_a, cmap_b
        self.split = split

    def __call__(self, v):
        if v < self.split:
            return self.cmap_a(v) 
            # or you might want to use v / self.split
        else:
            return self.cmap_b(v) 
            # or you might want to use (v - self.split) / (1 - self.split)

    def set_bad(self,*args, **kwargs):
        self.cmap_a.set_bad(*args, **kwargs)
        self.cmap_b.set_bad(*args, **kwargs)

    def set_over(self, *args, **kwargs):
        self.cmap_a.set_over(*args, **kwargs) # not really needed
        self.cmap_b.set_over(*args, **kwargs)

    def set_under(self, *args, **kwargs):
        self.cmap_a.set_under(*args, **kwargs)
        self.cmap_b.set_under(*args, **kwargs) # not really needed

    def is_gray(self):
        return False

colors.Colormap类定义。

您还将需要深入研究这些Normalize类。彩色地图只知道[0, 1],因此您必须确保将norm地图映射到.5要进行更改的位置。

您可能会对此进行概括,以获取地图和拆分点的列表,并根据需要拥有任意数量的彩色地图。这也需要各种方式的健全性检查。

如果重新归一化的输入,你也可以用这个做的定期版本 的任何 通过将其颜色映射现有的彩色地图和它的反向伙伴。



 类似资料:
  • 我有一个SVG元素,它包含两个尺寸和位置完全相同的子元素。两者唯一的区别是它们的颜色:第一个是红色,第二个是绿色。我注意到,即使绿色的圆圈在红色的上面,你仍然可以看到在圆圈的边缘有一点颜色偏移。我有什么办法可以避免这种颜色的变化吗? 下面是一张屏幕截图,显示了有红圈和没有红圈的情况: 这里还有我用来复制这个的小提琴。 null 欢迎任何不同的想法。

  • 我已经在网上搜索了足够多的东西,但没有运气。 我已经创建了一个堆叠的3D条形图,其中我无法更改默认颜色。我试了所有提供的建议。 EvenI使用了,但它不起作用。与图表、情节和渲染器中的创作顺序有关吗? 当我打印行和列时,我得到以下信息:

  • 问题内容: 为什么两个堆叠的半透明盒子的最终颜色取决于顺序? 如何使两种情况下的颜色相同? 问题答案: 仅仅是因为在两种情况下,由于 顶层的 不透明度如何影响 底层 的颜色,颜色的组合并不相同。 对于第一种情况,您会在顶层看到 50%的蓝色 和50%的透明。通过透明部分,您可以在底层看到50%的红色(因此,我们总共只能看到 25%的红色 )。第二种情况的逻辑相同( 红色的50% 和 蓝色的25%

  • 我一直在寻找一种使用Chartjs绘制此图的方法,但没有成功。这在Chartjs中可能吗? 我想画的图表 我尝试的图表 以下是我的设置: 我知道如何设置堆叠条形图,只是不知道如何设置图像中的图例。任何帮助都很感激。提前感谢!

  • 柱形图和面积图可以设置成堆叠的形式,堆叠后同一个分类下的数据不再是水平依次排列而是依次从上到下堆叠在一起。 堆叠有两种形式,普通的堆叠和按百分比堆叠;普通堆叠是按照数值大小依次堆叠,百分比堆叠是按照数值所占百分比进行堆叠。 下面是堆叠图和百分比堆叠图例子: 图 5-1 堆叠图 图 5-2 百分比堆叠图 通过指定柱形图或面积图的 stacking 属性即可是图形堆叠,示例代码如下: plotOpit

  • 在这篇 Matplotlib 数据可视化教程中,我们要介绍如何创建堆叠图。 堆叠图用于显示『部分对整体』随时间的关系。 堆叠图基本上类似于饼图,只是随时间而变化。 让我们考虑一个情况,我们一天有 24 小时,我们想看看我们如何花费时间。 我们将我们的活动分为:睡觉,吃饭,工作和玩耍。 我们假设我们要在 5 天的时间内跟踪它,因此我们的初始数据将如下所示: import matplotlib.pyp