This looks like the rotated lower/upper part of a square matrix. You can get the upper part of the matrix with something like
matrix[lower.tri(matrix)] <- NA
I am not sure how to rotate the image in R but you could always export it and rotate it with the GIMP or Inkscape. If other elements were to be added like in your example figure, I would export the heatmap and do the final figure assembly (including the rotation) in Inkscape.
Edit: You can rotate an image in R with rasterImage(). Something like this might work:
# create empty plot area first, d is the size of the matrix diagonal
plot(NA, type="n", xlim=c(0, d), ylim=c(0, d), xlab="", ylab="", asp=1)