Using twin axis

I would like to make biplot for principal component analysis with data values scale on left and bottom and loadings values scale on right and top. If I try to do it like that:

ax2 = ax1.twinx().twiny()

I can plot data correctly (data on ax1 and loadings on ax2), but I have to turn y axis on ax2 off (ax2.yaxis.set_visible(False)) that I don’t have double scale on the left and bottom scale is not the same as I set it with ax1.axis() anymore. Is there another way to do it? I would also like to change color of tick labels on upper and right scale (currently I can do it only with upper scale).