python用matlib画图legend位置
时间: 2023-05-04 10:04:56 浏览: 274
在使用Python的Matplotlib库画图时,我们常常需要为图例设置位置。Matplotlib中的legend()函数可以用来设置图例的位置和其他属性。通常,在调用legend()函数时,我们需要设置loc参数以显示图例的位置。
loc参数可以设置为一下值之一:
1. 'best':根据matplotlib的算法自动选择最佳位置。
2. 'upper right','upper left','lower left'等等:表示图例位于右上角,左上角,左下角等位置。
3. 0-9:数字代表了2位正整数,例如'upper right'可以表示为(1, 1)。loc参数的数字值表示网格的位置,用两位来表示行和列,其中第一位是从上到下,第二个是从左到右。因此,0代表左上角,10代表右上角,11代表右下角。
例如,我们可以使用以下代码将图例放置在图的右上角:
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [5, 6, 7, 8]
plt.plot(x, y, label='line')
plt.legend(loc='upper right')
plt.show()
```
这里的'upper right'是指把图例放在右上角。
此外,我们还可以使用bbox_to_anchor参数进一步控制图例的位置。例如,我们可以将左上角的位置指定为(0.5, 0.5),然后在此基础上调整图例的偏移量:
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [5, 6, 7, 8]
plt.plot(x, y, label='line')
plt.legend(bbox_to_anchor=(0.5, 0.5), loc='upper left')
plt.show()
```
这里的bbox_to_anchor参数中指定的是左上角的位置,loc参数指定了图例位于左上角,这样就可以在此基础上调整图例的位置了。
阅读全文