logo资料库

qcustomplot中的colormap详解.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
qcpcolormap 2016年10月11日 早☼安 02:46 数据存储在类QCP ColorMap Data中,可以通过data()方法访问。 颜色贴图有三个维度来表示数据点:键维度,值维度和数据维度。 与其他统计图(如图形)一样,键和值对应于您在 QCPColorMap构造函数中指定的QCustomPlot表面上的两个正交轴。 然而,数据维度被编码为(key,value)处的点的颜 色。 通过QCPColorMapData :: setSize设置键/值维度中的点数(或单元格)。 将通过QCPColorMapData :: setRange指定将显示这 些点的绘图坐标范围。 第一个单元格将以下限范围为边界,最后一个单元格将以上限范围为中心。 可以通过使用 QCPColorMapData :: setCell直接访问单元格或通过使用QCPColorMapData :: setData通过其绘图坐标寻址单元格来设置数据。 如果可能,你应该喜欢setCell,因为它不需要做任何坐标变换,因此执行一点更好。 The cell with index (0, 0) is at the bottom left, if the color map uses normal (i.e. not reversed) key and value axes. To show the user which colors correspond to which data values, a QCPColorScale is typically placed to the right of the axis rect. See the documentation there for details on how to add and use a color scale. 如果颜色映射使用正常(即不反转)键和值轴,则索引为(0,0)的单元格位于左下角。 为了向用户显示哪些颜色对应于哪些数据值,QCPColorScale通常放置在轴rect的右侧。 有关如何添加和使用颜色标尺的详细信息,请参阅其中的文档。 更改外观 外观的中心部分是颜色渐变,可以通过setGradient指定。 有关配置颜色渐变的详细信息,请参阅QCPColorGradient的文档。 映射到渐变颜色的数据范围可以使用setDataRange指定。 要使数据范围包含整个数据集最小到最大,请调用rescaleDataRange。 透明度 颜色图中的透明度可以通过两种机制实现。 一方面,您可以通过常规QColor接口为QCPColorGradient的颜色停止指定alpha值。 这将导致映射到那些停止点周围的颜 色的颜色映射数据与相应的内插透明度一起出现。 另一方面,您也可以通过使用QCPColorMapData的alpha map特性,直接对每个单元格应用一个alpha值,而与其数据无关。 相关的方法是QCPColorMapData :: setAlpha,QCPColorMapData :: fillAlpha和QCPColorMapData :: clearAlpha()。 两个透明胶片将在绘图中连接在一起,否则不会相互干扰。 它们在乘法物质中混合,因此α的例如。 50%(128/255)在两种模式下,将导致25%的总透明度 (64/255)。 用法 像QCustomPlot中表示对象的所有数据一样,QCPColorMap是一个绘图表(QCPAbstractPlottable)。 因此,QCustomPlot的plottable接口适用(QCustomPlot :: plottable,QCustomPlot :: removePlottable等) 通常,您首先创建一个实例: 它将通过传递的轴的QCustomPlot实例进行注册。 注意,这个QCustomPlot实例获取plottable的所有权,所以不要手动删除它,而是使用QCustomPlot :: removePlottable()。 新创建的图表可以修改,例如: 分区 QT 的第 1 页
注意 QCPColorMap总是以相等的键/值间隔显示数据,即使键或值轴设置为对数缩放也是如此。 如果要使用具有对数轴的QCPColorMap,则不应使用 QCPColorMapData :: setData方法,因为它使用线性变换来确定单元格索引。 而是直接使用QCPColorMapData :: setCell访问单元格索引。 分区 QT 的第 2 页
QCPColorGradient 2016年10月11日 17:58 详细说明 定义颜色渐变以用于例如。 QCPColorMap。 这个类描述了一个颜色渐变,可以用于用颜色编码数据。 例如,QCPColorMap和QCPColorScale有setGradient方法,它接受这个类的实例。 颜色使用 setColorStopAt(double position,const QColor&color)设置,位置从0到1.在这些定义的颜色位置之间,颜色将在RGB或HSV空间中线性内插,请参见 setColorInterpolation。 或者,使用loadPreset或通过在构造函数中直接指定预设,加载下面图像中显示的预设颜色渐变之一。 除了红色,绿色和蓝色分量,渐变还内插配置的色标的alpha值。 这允许在图中将数据范围的一些部分显示为透明。 分区 QT 的第 3 页
ructor允许直接将渐变预设转换为QCP颜色渐变。 这意味着您可以直接将GradientPreset传递给所有setGradient方法,例如: 渐变中使用的级别总数可以使用setLevelCount设置。 是否应该周期性地(绕回)对位于plottable实例上指定的数据范围之外的数据值应用颜色渐变,可以使用 setPeriodic进行控制。 分区 QT 的第 4 页
分享到:
收藏