我希望做一个气泡图,但不是圆,而是正方形,其面积按其值缩放。所以类似于这样:
的数据这在Matplotlib中可能吗?或者泡泡Map只能由圆圈组成吗?
hec6srdp1#
这段代码使用plot()的plot()函数,利用标记选项,重新创建了示例图表上的一些功能:
plot()
import matplotlib.pyplot as plt import numpy as np import random xs = np.arange(1, 5, 1) ys = np.arange(0.5, 6, 1) colors = ["gray", "red", "green"] def square_size_color(value): square_color = random.choice(colors) if value < 1: square_size = random.choice(range(1, 10)) if 3 > value > 1: square_size = random.choice(range(10, 25)) else: square_size = random.choice(range(25, 35)) return square_size, square_color for x in xs: for y in ys: square_size, square_color = square_size_color(y) plt.plot(x, y, linestyle="None", marker="s", # 's' for square marker markersize=square_size, mfc=square_color, mec=square_color) plt.grid(visible=True, axis='y') plt.xlim(0.5, 4.5) plt.ylim(-0.5, 6.5) plt.show()
字符串这将产生类似于:
的数据虽然可能有一个更直接的方法来做到这一点,我相信这将工作为你想做的事情。显然,你可以自定义的条件,大小和颜色,我使用的random.choice()只是为了图表看起来更漂亮。
random.choice()
1条答案
按热度按时间hec6srdp1#
这段代码使用
plot()
的plot()
函数,利用标记选项,重新创建了示例图表上的一些功能:字符串
这将产生类似于:
的数据
虽然可能有一个更直接的方法来做到这一点,我相信这将工作为你想做的事情。显然,你可以自定义的条件,大小和颜色,我使用的
random.choice()
只是为了图表看起来更漂亮。