|
From: Cottrell, A. <cot...@wf...> - 2026-03-23 21:21:31
|
Thanks, Ethan. I'm glad to be alerted to the "trailing if" syntax in
gnuplot 6; I hadn't noticed that.
Allin
On Mon, Mar 23, 2026 at 4:41 PM Ethan A Merritt <me...@uw...> wrote:
>
> Not exactly what you asked for, but one solution is to place the label in an opaque box with neutral fillcolor:
>
> set style textbox opaque fc "grey" noborder
> plot $map1 matrix using 1:2:3 with image, \
> $map1 matrix using 1:2:(sprintf("%g",$3)) with labels tc "black" boxed
>
> Here is a way to make it conditional on the matrix value using an extra pass.
> This requires gnuplot 6 for the "if" syntax
>
> plot $map1 matrix using 1:2:3 with image, \
> $map1 matrix using 1:2:(sprintf("%g",$3)) with labels tc "black" if ($3 > -0.6), \
> $map1 matrix using 1:2:(sprintf("%g",$3)) with labels tc "white" if ($3 <= -0.6)
>
> cheers,
> Ethan
>
> On Mon, Mar 23, 2026 at 10:02 AM Allin Cottrell via gnuplot-beta <gnu...@li...> wrote:
>>
>> I have a gnuplot routine that shows a correlation matrix as a heat
>> map. If the dimension of the matrix is not too great it prints the
>> value of the correlation coefficient in each "cell". Mostly this
>> works fine, but if the color of the cell is a relatively dark blue
>> (indicating a strong negative correlation) the default black text is
>> not very legible. So I'd like to make the textcolor conditional.
>>
>> At present I have this plot statement:
>>
>> plot $data matrix with image, $data matrix using \
>> 1:2:(sprintf("%.1f",$3)) with labels
>>
>> I'd like to append something like
>>
>> tc $3 < -0.6 ? rgbcolor "white" : rgbcolor "black"
>>
>> That doesn't work ("colorspec option not recognized", not very
>> surprisingly). But is there a way to do this?
>>
>> Thanks for any guidance.
|