小白教程
所有教程
关于
Search
172.69.6.75
172.69.6.75
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Matplotlib 散点图”的源代码
本页内容
上一节:
Matplotlib_绘制多图
下一节:
Matplotlib_柱形图
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:Matplotlib 散点图}}[[Category:Matplotlib 教程|9]] = Matplotlib 散点图 = 我们可以使用 pyplot 中的 scatter() 方法来绘制散点图。 scatter() 方法语法格式如下: <sample title="" desc="" lang="python" hererun="1"> 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) </sample> '''参数说明:''' '''x,y''':长度相同的数组,也就是我们即将绘制散点图的数据点,输入数据。 '''s''':点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小。 '''c''':点的颜色,默认蓝色 'b',也可以是个 RGB 或 RGBA 二维行数组。 '''marker''':点的样式,默认小圆圈 'o'。 '''cmap''':Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。 '''norm''':Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用。 '''vmin,vmax:''':亮度设置,在 norm 参数存在时会忽略。 '''alpha:''':透明度设置,0-1 之间,默认 None,即不透明。 '''linewidths:''':标记点的长度。 '''edgecolors:''':颜色或颜色序列,默认为 'face',可选值有 'face', 'none', None。 '''plotnonfinite:''':布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。 '''**kwargs:''':其他参数。 以下实例 scatter() 函数接收长度相同的数组参数,一个用于 x 轴的值,另一个用于 y 轴上的值: <sample title="" desc="" lang="python" hererun="1"> import matplotlib.pyplot as plt import numpy as np x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) y = np.array([1, 4, 9, 16, 7, 11, 23, 18]) plt.scatter(x, y) plt.show() </sample> 显示结果如下: 设置图标大小: <sample title="" desc="" lang="python" hererun="1"> import matplotlib.pyplot as plt import numpy as np x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) y = np.array([1, 4, 9, 16, 7, 11, 23, 18]) sizes = np.array([20,50,100,200,500,1000,60,90]) plt.scatter(x, y, s=sizes) plt.show() </sample> 显示结果如下: 自定义点的颜色: <sample title="" desc="" lang="python" hererun="1"> import matplotlib.pyplot as plt import numpy as np x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) y = np.array([1, 4, 9, 16, 7, 11, 23, 18]) colors = np.array(["red","green","black","orange","purple","beige","cyan","magenta"]) plt.scatter(x, y, c=colors) plt.show() </sample> 显示结果如下: 设置两组散点图: <sample title="" desc="" lang="python" hererun="1"> import matplotlib.pyplot as plt import numpy as np x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6]) y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86]) plt.scatter(x, y, color = 'hotpink') x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12]) y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85]) plt.scatter(x, y, color = '#88c999') plt.show() </sample> 显示结果如下: 使用随机数来设置散点图: <sample title="" desc="" lang="python" hererun="1"> import numpy as np import matplotlib.pyplot as plt # 随机数生成器的种子 np.random.seed(19680801) N = 50 x = np.random.rand(N) y = np.random.rand(N) colors = np.random.rand(N) area = (30 * np.random.rand(N))**2 # 0 to 15 point radii plt.scatter(x, y, s=area, c=colors, alpha=0.5) # 设置颜色及透明度 plt.title("XiaoBai.Wang Scatter Test") # 设置标题 plt.show() </sample> 显示结果如下: === 颜色条 Colormap === Matplotlib 模块提供了很多可用的颜色条。 颜色条就像一个颜色列表,其中每种颜色都有一个范围从 0 到 100 的值。 下面是一个颜色条的例子: 设置颜色条需要使用 cmap 参数,默认值为 'viridis',之后颜色值设置为 0 到 100 的数组。 <sample title="" desc="" lang="python" hererun="1"> import matplotlib.pyplot as plt import numpy as np x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6]) y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86]) colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100]) plt.scatter(x, y, c=colors, cmap='viridis') plt.show() </sample> 显示结果如下: 如果要显示颜色条,需要使用 plt.colorbar() 方法: <sample title="" desc="" lang="python" hererun="1"> import matplotlib.pyplot as plt import numpy as np x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6]) y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86]) colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100]) plt.scatter(x, y, c=colors, cmap='viridis') plt.colorbar() plt.show() </sample> 显示结果如下: 换个颜色条参数, cmap 设置为 afmhot_r: <sample title="" desc="" lang="python" hererun="1"> import matplotlib.pyplot as plt import numpy as np x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6]) y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86]) colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100]) plt.scatter(x, y, c=colors, cmap='afmhot_r') plt.colorbar() plt.show() </sample> 显示结果如下: 颜色条参数值可以是以下值: {| class="table table-striped table-hover" ! 颜色名称 ! ! 保留关键字 |- | Accent | | Accent_r |- | Blues | | Blues_r |- | BrBG | | BrBG_r |- | BuGn | | BuGn_r |- | BuPu | | BuPu_r |- | CMRmap | | CMRmap_r |- | Dark2 | | Dark2_r |- | GnBu | | GnBu_r |- | Greens | | Greens_r |- | Greys | | Greys_r |- | OrRd | | OrRd_r |- | Oranges | | Oranges_r |- | PRGn | | PRGn_r |- | Paired | | Paired_r |- | Pastel1 | | Pastel1_r |- | Pastel2 | | Pastel2_r |- | PiYG | | PiYG_r |- | PuBu | | PuBu_r |- | PuBuGn | | PuBuGn_r |- | PuOr | | PuOr_r |- | PuRd | | PuRd_r |- | Purples | | Purples_r |- | RdBu | | RdBu_r |- | RdGy | | RdGy_r |- | RdPu | | RdPu_r |- | RdYlBu | | RdYlBu_r |- | RdYlGn | | RdYlGn_r |- | Reds | | Reds_r |- | Set1 | | Set1_r |- | Set2 | | Set2_r |- | Set3 | | Set3_r |- | Spectral | | Spectral_r |- | Wistia | | Wistia_r |- | YlGn | | YlGn_r |- | YlGnBu | | YlGnBu_r |- | YlOrBr | | YlOrBr_r |- | YlOrRd | | YlOrRd_r |- | afmhot | | afmhot_r |- | autumn | | autumn_r |- | binary | | binary_r |- | bone | | bone_r |- | brg | | brg_r |- | bwr | | bwr_r |- | cividis | | cividis_r |- | cool | | cool_r |- | coolwarm | | coolwarm_r |- | copper | | copper_r |- | cubehelix | | cubehelix_r |- | flag | | flag_r |- | gist_earth | | gist_earth_r |- | gist_gray | | gist_gray_r |- | gist_heat | | gist_heat_r |- | gist_ncar | | gist_ncar_r |- | gist_rainbow | | gist_rainbow_r |- | gist_stern | | gist_stern_r |- | gist_yarg | | gist_yarg_r |- | gnuplot | | gnuplot_r |- | gnuplot2 | | gnuplot2_r |- | gray | | gray_r |- | hot | | hot_r |- | hsv | | hsv_r |- | inferno | | inferno_r |- | jet | | jet_r |- | magma | | magma_r |- | nipy_spectral | | nipy_spectral_r |- | ocean | | ocean_r |- | pink | | pink_r |- | plasma | | plasma_r |- | prism | | prism_r |- | rainbow | | rainbow_r |- | seismic | | seismic_r |- | spring | | spring_r |- | summer | | summer_r |- | tab10 | | tab10_r |- | tab20 | | tab20_r |- | tab20b | | tab20b_r |- | tab20c | | tab20c_r |- | terrain | | terrain_r |- | twilight | | twilight_r |- | twilight_shifted | | twilight_shifted_r |- | viridis | | viridis_r |- | winter | | winter_r |}
返回至“
Matplotlib 散点图
”。
上一节:
Matplotlib_绘制多图
下一节:
Matplotlib_柱形图