如何在散点图中的图形内设置标题位置?

时间:2018-11-04 13:36:45

标签: python matplotlib position title scatter-plot

MWE:  我希望标题位置与图表相同: enter image description here

这是我的代码:

import matplotlib.pyplot as plt
import numpy as np
import random 


fig, ax = plt.subplots()

x = random.sample(range(256),200)
y = random.sample(range(256),200)

cor=np.corrcoef(x,y)

plt.scatter(x,y, color='b', s=5, marker=".")
#plt.scatter(x,y, label='skitscat', color='b', s=5, marker=".")
ax.set_xlim(0,300)
ax.set_ylim(0,300)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Correlation Coefficient: %f'%cor[0][1])
#plt.legend()
fig.savefig('plot.png', dpi=fig.dpi)
#plt.show()

但这给出了:
enter image description here

如何固定标题位置?

2 个答案:

答案 0 :(得分:5)

使用此代码:

x= [2,1]; y = [3,2]
plt.scatter(x,y)
plt.title("title", y=0.5)
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()

答案 1 :(得分:0)

title移动到轴内的任意位置将不必要地复杂。
相反,人们宁愿在所需位置创建一个text

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()

x = np.random.randint(256,size=200)
y = np.random.randint(256,size=200)

cor=np.corrcoef(x,y)

ax.scatter(x,y, color='b', s=5, marker=".")

ax.set_xlim(0,300)
ax.set_ylim(0,300)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.text(0.9, 0.9, 'Correlation Coefficient: %f'%cor[0][1], 
        transform=ax.transAxes, ha="right")

plt.show()

enter image description here