我正在制作一些散点图,我想将图例中点的大小设置为固定的相等值.
现在我有这个:
import matplotlib.pyplot as plt
import numpy as np
def rand_data():
return np.random.uniform(low=0., high=1., size=(100,))
# Generate data.
x1, y1 = [rand_data() for i in range(2)]
x2, y2 = [rand_data() for i in range(2)]
plt.figure()
plt.scatter(x1, y1, marker='o', label='first', s=20., c='b')
plt.scatter(x2, y2, marker='o', label='second', s=35., c='r')
# Plot legend.
plt.legend(loc="lower left", markerscale=2., scatterpoints=1, fontsize=10)
plt.show()
Run Code Online (Sandbox Code Playgroud)
产生这个:

图例中点的大小是缩放的但不相同.如何在不影响图中大小的情况下将图例中点的大小固定为相等的值scatter?
alpha在图例框中放大和设置标记值(回到1.0)最方便的方法是什么?我也很满意大彩盒子.
import matplotlib.pyplot as plt
import numpy as np
n = 100000
s1 = np.random.normal(0, 0.05, n)
s2 = np.random.normal(0, 0.08, n)
ys = np.linspace(0, 1, n)
plt.plot(s1, ys, ',', label='data1', alpha=0.1)
plt.plot(s2, ys, ',', label='data2', alpha=0.1)
plt.legend(bbox_to_anchor=(1.005, 1), loc=2, borderaxespad=0.)
Run Code Online (Sandbox Code Playgroud)