使用 matplotlib 中的数据值缩放标记大小和颜色
scale the marker size and color with data values in matplotlib
我想在 python 中制作一个简单的散点图,但我不知道如何缩放 (i) 标记的大小与 x-y 轴范围和 (ii) 的颜色带有第三个变量的标记(这样颜色将跨越整个颜色图范围)。
例如,这对于 IDL 来说是微不足道的,但我找不到 matplotlib 的简单解决方案。
如有任何想法,我们将不胜感激!
谢谢
编辑:
这是一个简单的例子。
import matplotlib.pyplot as plt
x = [10.,60.]
y = [30.,90.]
z = [3.,8.] # = diameters of x and y points
plt.xlim(0., 100.)
plt.ylim(0., 100.)
plt.scatter(x,y,s=my_marker_size,marker='o')
如何定义 my_marker_size 以便我的点在此图上由直径为 z 的圆圈表示?
plt.Circle
创建可以添加到图中的圆。将纵横比设置为 'equal'
可以使圆圈不会被拉伸成椭圆形。
import matplotlib.pyplot as plt
x = [10., 60.]
y = [30., 90.]
z = [3., 8.]
ax = plt.gca()
for xi, yi, diam in zip(x, y, z):
ax.add_patch(plt.Circle((xi, yi), diam))
ax.set_aspect('equal')
plt.xlim(0., 100.)
plt.ylim(0., 100.)
plt.show()
我想在 python 中制作一个简单的散点图,但我不知道如何缩放 (i) 标记的大小与 x-y 轴范围和 (ii) 的颜色带有第三个变量的标记(这样颜色将跨越整个颜色图范围)。
例如,这对于 IDL 来说是微不足道的,但我找不到 matplotlib 的简单解决方案。
如有任何想法,我们将不胜感激!
谢谢
编辑:
这是一个简单的例子。
import matplotlib.pyplot as plt
x = [10.,60.]
y = [30.,90.]
z = [3.,8.] # = diameters of x and y points
plt.xlim(0., 100.)
plt.ylim(0., 100.)
plt.scatter(x,y,s=my_marker_size,marker='o')
如何定义 my_marker_size 以便我的点在此图上由直径为 z 的圆圈表示?
plt.Circle
创建可以添加到图中的圆。将纵横比设置为 'equal'
可以使圆圈不会被拉伸成椭圆形。
import matplotlib.pyplot as plt
x = [10., 60.]
y = [30., 90.]
z = [3., 8.]
ax = plt.gca()
for xi, yi, diam in zip(x, y, z):
ax.add_patch(plt.Circle((xi, yi), diam))
ax.set_aspect('equal')
plt.xlim(0., 100.)
plt.ylim(0., 100.)
plt.show()