python绘制Bubble气泡图pltscatter
创始人
2024-01-31 02:59:24
0

python绘制Bubble气泡图pltscatter

先上结果:

image-20220318124751097

image-20220318134310704

image-20220318135446600

基础语法:

Axes.scatter(x, y**,** s=None**,** c=None**,** marker=None**,** cmap=None**,** norm=None**,** vmin=None**,** vmax=None**,** alpha=None**,** linewidths=None**,** , edgecolors=None,* plotnonfinite=False**,** data=None**,** kwargs)**

x, y float或 array 维度为(n, )

s float 或 array,维度为(n, ), 非必需

**c **array或list,映射颜色

可能的类型:

  • 使用 cmapnorm 将 n 个数字的标量或序列映射到颜色。
  • 一个二维数组,其中行是 RGB 或 RGBA。
  • 长度为 n 的颜色序列。
  • 单一颜色格式字符串。

**marker **MarkerStyle, 默认: rcParams["scatter.marker"] (default: 'o') 是标记的形状,具体可看matplotlib官方文档

cmap str or Colormap, default: rcParams["image.cmap"] (default: 'viridis') 颜色条,可以用colormap,参考官方文档

normNormalize, default: None

colors.Normalize.缩放颜色的选项,一般不用

vmin, vmaxfloat, default: None

vminvmax 与默认规范一起使用,以将颜色数组 c 映射到颜色图 cmap。 如果没有,则使用颜色数组的相应最小值和最大值。

不能与norm同用。

alpha 透明度

0 (完全透明) and 1 (不透明).

linewidths float or array-like, default: rcParams["lines.linewidth"] (default: 1.5)线宽默认为1.5

edgecolors{‘face’, ‘none’, None} or color or sequence of color, default: rcParams["scatter.edgecolors"] (default: 'face')

  • ‘face’:边缘颜色将始终与面颜色相同。
  • ‘none’:不绘制补丁边界。

plotnonfinitebool, default: False

是否使用非有限 c 绘制点(即 inf-infnan)。 如果为“真”,则使用 bad 颜色图颜色绘制点

# libraries
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
%matplotlib inline
# create data
x = np.random.rand(15) #x是15个0-1均匀分布
y = x+np.random.rand(15)
z = x+np.random.rand(15)
z=z*z # Change color with c and transparency with alpha. 
# I map the color to the X axis value.
plt.scatter(x, y, s=z*2000, c=x, cmap="Blues", alpha=0.4, edgecolors="grey", linewidth=2) # s是气泡随机的大小, c是不同类的颜色
# Add titles (main and on axis)
plt.xlabel("the X axis")
plt.ylabel("the Y axis")
plt.title("A colored bubble plot")# Show the graph
plt.show()

image-20220318124751097

# Load a numpy record array from yahoo csv data with fields date, open, close,
# volume, adj_close from the mpl-data/example directory. The record array
# stores the date as an np.datetime64 with a day unit ('D') in the date column.
price_data = (cbook.get_sample_data('goog.npz', np_load=True)['price_data'].view(np.recarray))
price_data = price_data[-250:]  # get the most recent 250 trading daysdelta1 = np.diff(price_data.adj_close) / price_data.adj_close[:-1]# Marker size in units of points^2
volume = (15 * price_data.volume[:-2] / price_data.volume[0])**2
close = 0.003 * price_data.close[:-2] / 0.003 * price_data.open[:-2]
# 数据准备,生成了delta1, close, volume三个列向量
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cbook as cbookfig, ax = plt.subplots()
ax.scatter(delta1[:-1], delta1[1:], c=close, s=volume, alpha=0.5)ax.set_xlabel(r'$\Delta_i$', fontsize=15)
ax.set_ylabel(r'$\Delta_{i+1}$', fontsize=15)
ax.set_title('Volume and percent change')ax.grid(True)
fig.tight_layout()plt.show()

image-20220318135259457

import numpy as np
import matplotlib.pyplot as plt# Fixing random state for reproducibility
np.random.seed(19680801)# Compute areas and colors
N = 150
r = 2 * np.random.rand(N)
theta = 2 * np.pi * np.random.rand(N)
area = 200 * r**2
colors = thetafig = plt.figure()
ax = fig.add_subplot(projection='polar')
c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75)

ig = plt.figure()
ax = fig.add_subplot(projection=‘polar’)
c = ax.scatter(theta, r, c=colors, s=area, cmap=‘hsv’, alpha=0.75)

image-20220318135511217

相关内容

热门资讯

海南自贸区涨停潮背后:政策红利... 12月22日上午,A股市场迎来久违的“多点开花”——三大指数齐涨,而最引人注目的,莫过于海南自贸区板...
深圳:深入实施跨境贸易投资高水... 人民财讯12月23日电,深圳市人民政府印发《深圳市进一步加大吸引和利用外资实施办法》,其中提出,进一...
国家发展改革委等三部门完善幼儿... 中新网12月23日电 据国家发展改革委网站消息,近日,为深入贯彻党的二十大和二十届历次全会精神,落实...
建工修复(300958)披露累... 截至2025年12月23日收盘,建工修复(300958)报收于12.39元,较前一交易日下跌0.88...
红豆股份(600400)披露拟... 截至2025年12月23日收盘,红豆股份(600400)报收于2.4元,较前一交易日下跌2.83%,...
凌钢股份与江苏银行深圳分行纠纷... 12月23日,凌钢股份(600231)发布公告,近期公司收到辽宁省朝阳市中级人民法院的民事裁定书,案...
科蓝软件:科蓝盛合陷合同纠纷 ... 12月23日,科蓝软件(300663)发布公告,控股股东一致行动人宁波科蓝盛合投资管理合伙企业(有限...
广东潮州通报“因购物纠纷引发的... 本文转自【看潮州客户端】; 情况简讯 记者获悉,12月18日,在市区枫春路发生一起因购物纠纷引发的殴...