当前位置: 首页 > 知识库问答 >
问题:

为简单绘图制作精确的色条

常博裕
2023-03-14

我试图做一个简单的绘图(对于这个例子,做一个y=x^2的绘图就足够了),我想根据它们的大小设置点的颜色。

下面是我的简单示例,我说:

x = 1:10;
y = x.^2;

使用gscatter(x,y,jet(10));传说隐藏;colorbar,它生成一个带有彩色点的绘图,但colorbar与彩色值不一致。(这是我的第一篇文章,无法发布图片)。使用caxis([1100])命令给出正确的范围,但颜色仍处于关闭状态。

所以我有两个问题:(1)如何调整颜色以适应给定范围的色条?在我的真实数据中,在某些情况下,我看到的值在-50到50之间,并且有更多的数据点。

(2) 我希望使用相同的点(但在不同的轴上)创建不同的绘图,并且我希望此新绘图上每个点的颜色与上一个绘图中的对应点的颜色相同。如何以编程方式从每个点提取颜色,以便在两组不同的轴上打印?

我只是将点移动到一个矩阵中,并执行Imagesc()命令,但它们不是以整数间隔的,或者同样简单的缩放也不起作用。

感谢任何帮助!

共有1个答案

蓟和煦
2023-03-14

关于第一个问题,您需要将y值插入到彩色贴图的线性索引中。比如:

x = 1:10;
y = x.^4;
csize = 128;
cmap = jet(csize);
ind = interp1(linspace(min(y),max(y),csize),1:csize,y,'nearest');
scatter(x,y,14,cmap(ind,:),'filled')
colorbar
caxis([min(y) max(y)])

在这种情况下使用interp1是一种过度杀戮;您可以直接计算它。然而,我认为这样更清楚。

我想它也回答了你的第二个问题,因为你有每个数据点的颜色索引,所以你可以用同样的方式再次使用它。

 类似资料:
  • 绘制矩形 与其它图形库不同,LCUI 提供的图形 API 只支持矩形这一种形式的图形绘制,不支持基于路径来绘制复杂图形。因此,对于其它复杂的图形,你需要手动编写代码填充像素来绘制。 LCUI 提供了一种绘制矩形的方法: int Graph_FillRect(LCUI_Graph *graph, LCUI_Color color, LCUI_Rect *rec

  • 我看了java文档和其他文章没有找到答案,这是我的最后一招:/ 提前致谢

  • 问题内容: 在我的程序中,我想绘制一个简单的分数线图。我有一个文本文件,并且在每一行上是一个整数分数,我已阅读该分数,并希望将其作为参数传递给图形类。我在实现graph类时遇到了一些麻烦,我所看到的所有示例都将它们的方法和它们的main放在同一个类中,而我不会。 我希望能够将数组传递给对象并生成图形,但是在调用我的绘画方法时,它要求我提供Graphics g …这是到目前为止的内容: 现在,我已经

  • 导语 Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕和绘图设备上进行绘制,它主要基于QPainter、QPaintDevice和QPaintEngine这三个类。其中QPainter用来执行绘图操作;QPaintDevice提供绘图设备,它是一个二维空间的抽象,可以使用QPainter在其上进行绘制;QPaintEngine提供了一些接口,可以用于QPainter在不同的设备上进行绘制

  • 问题内容: 我正在尝试使Java 2D图形“ hello world”运行起来,并发现它异常困难(即,我正在搜索“ java hello world example”的变体,然后变成空白)。有人能帮我举一个最小的世界范例吗? 编辑 不过,这是一个不错的起点,“ Java教程:执行自定义绘画” 。 问题答案: 要在Swing中绘制矩形,您应该: 首先,永远不要直接在JFrame或其他顶级窗口中绘制。

  • 安装方法 pip install matplotlib 绘制一元函数图像y=ax+b 创建single_variable.py,内容如下: # coding:utf-8 import sys reload(sys) sys.setdefaultencoding( "utf-8" ) import matplotlib.pyplot as plt import numpy as np plt.f