我试图将传说正确用于虚线,所以我稍微使用了rcParams,但由于某些原因它在我的计算机上无效。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['legend.numpoints'] = 5
matplotlib.rcParams['legend.scatterpoints'] = 5
fig, axs = plt.subplots()
axs.plot(range(10), '--k', label="line")
axs.plot(range(10), range(10)[::-1], ':k', label="scatter")
axs.legend(loc=9)
plt.show()
结果是:
可以看出,虚线的numpoints是不够的。有人请帮忙吗?
谢谢!
答案 0 :(得分:4)
如果使用标记创建绘图,matplotlib.rcParams['legend.numpoints']
会调整图例线上绘制的点数。
如果用这些代替你的情节:
axs.plot(range(10), '--k', label="line", marker='d')
axs.plot(range(10), range(10)[::-1], ':k', label="scatter", marker='o')
你得到这张图片:
我不知道matplotlib.rcParams['legend.scatterpoints']
做了什么,但我想调节散点图图例中的点数。
如果您想更改图例中线条的长度,请尝试使用matplotlib.rcParams['legend.handlelength']
和/或matplotlib.rcParams['legend.handleheight']
。有关rc文件的更多信息,请访问here
根据@tcaswell的建议,您不必设置rc参数。所有legend.*
参数均可用作legend
函数的关键字。见matplotlib.pyplot.legend
documentation