Q:

ArrayPlot gives wrong plot legend, how to fix?

Bug introduced in 10.0 and fixed in 11.2.0.0

My minimal working example is the code 
ArrayPlot[{{1, 0.1, 0}, {0.1, 0, 0}}, PlotLegends -> Automatic]

The plot legend shows up as a bar legend, but the colors in the legend are inconsistent with what is shown in the array plot.
Here is the plot:
 
but here is the the plot legend that is generated along with it.

You can see white and black seem to be reversed from what they should be. Here as some related questions: Bar legend coloring doesn't correspond to array plot coloring in the expected way, and MatrixPlot provides wildly inaccurate PlotLegend?
My question is: Why is Mathematica doing this, and how can I fix it? (I am running version 10.4.1.0.)

A:

This looks like a bug.  Please report it to Wolfram Support.
A simple workaround is to specify your own colour function.
ArrayPlot[{{1, 0.1, 0}, {0.1, 0, 0}}, PlotLegends -> Automatic, 
 ColorFunction -> (GrayLevel[1 - #] &)]

