用法:
matplotlib.pyplot.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)
参数介绍:
import matplotlib.pyplot as plt a = [1, 2, 3, 4, 5] b = [6, 7, 8, 9, 10] # 为了显示出c和edgecolors 我将linewidths调增到15 plt.scatter(a, b, linewidths=15,c='red',edgecolors=['black', 'green','cyan','lightgreen'])
参数 s
import matplotlib.pyplot as plt %matplotlib inline plt.figure(figsize=(12,6)) plt.rcParams['font.family'] = 'SimHei' a = [1, 2, 3, 4, 5] b = [6, 7, 8, 9, 10] plt.subplot(121) plt.title('不添加s') plt.scatter(a,b,c='red',linewidths=6) plt.subplot(122) plt.title('添加s,s=1.5') plt.scatter(a,b,c='red',s=1.5,linewidths=6) plt.show()
参数marker
import matplotlib.pyplot as plt plt.figure(figsize=(12,6)) plt.rcParams['font.family'] = 'SimHei' a = [1, 2, 3, 4, 5] b = [6, 7, 8, 9, 10] plt.subplot(131) plt.title('标准') plt.scatter(a,b,linewidths=6) plt.subplot(132) plt.title("设置marker 'x'") plt.scatter(a,b,marker='x') plt.subplot(133) plt.title("设置marker 'v'") plt.scatter(a,b,marker='v') plt.show()
marker属性
import matplotlib.pyplot as plt plt.figure(figsize=(12,6)) plt.rcParams['font.family'] = 'SimHei' a = [1, 2, 3, 4, 5] b = [6, 7, 8, 9, 10] plt.subplot(141) plt.title("设置marker '1'") plt.scatter(a,b,s=100,marker='1') plt.subplot(142) plt.title("设置marker '2'") plt.scatter(a,b,s=100,marker='2') plt.subplot(143) plt.title("设置marker '3'") plt.scatter(a,b,s=100,marker='3') plt.subplot(144) plt.title("设置marker '4'") plt.scatter(a,b,s=100,marker='4') plt.show()
参数cmap
cmap主要是配合c参数一起使用的,c可以是一个颜色序列,使用数字列表代替,plt.cm.Spectral是一个颜色映射集,并不代表说明[0:5]代表某个颜色,参数c出现5个不同的值,然后为每个值分配一个颜色
import matplotlib.pyplot as plt a = [1, 2, 3, 4, 5] b = [6, 7, 8, 9, 10] c = [0, 1, 2, 3, 4] plt.rcParams['font.family'] = 'SimHei' plt.subplot(121) plt.title('标准') plt.scatter(a, b, c=c, s=80) plt.subplot(122) plt.title('添加cmap') plt.scatter(a, b, c=c, s=80, cmap=plt.cm.Spectral) plt.show()
vmin,vmax,norm散点亮度设置, alpha透明度
plt.colorbar()颜色条
散点图进行多出设置,即成为气泡图,下面进行展示:
import matplotlib.pyplot as plt # 导入颜色条库 from matplotlib import colors import numpy as np x = np.random.randn(50) # 随机产生50个X坐标 y = np.random.randn(50) # 随机产生50个Y坐标 color = np.random.rand(50) # 随机产生用于映射颜色的数值 size = 500 * np.random.rand(50) # 随机改变散点大小的数值 changecolor = colors.Normalize(vmin=0.4, vmax=0.8) plt.scatter(x, y, c=color, s = size, alpha=0.3, cmap='viridis', norm=changecolor) plt.colorbar() # 显示颜色条 plt.show()
到此这篇关于python scatter绘制散点图的文章就介绍到这了,更多相关pyth 散点图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!