09.all_scatter - wwj-2017-1117/graph GitHub Wiki

""" 画散点图 """

import numpy as np import matplotlib.pyplot as plt

x = np.linspace(0, 10, 100)

marker 点的形状

plt.scatter(x, np.sin(x), marker='o') plt.grid() plt.show() """ 使用plt.sactter相比plt.plot在创建散点图时的优势是具有更高的灵活性,他可以单独控制每一个散点的不同属性(颜色、大小等), 这样就可以通过(坐标位置、颜色、大小)这些多维信息,来表征更多的数据特征,并进行更精细的控制。

我们来绘制这样一组散点图,每个点的位置坐标(x,y)是服从标准正态分布的随机值,点的颜色灰度值是位于(0,1)空间中的随机样本,点的大小是随机值得1000倍,单位是像素。 这样通过位置、大小、颜色等多维信息,就能更丰富的表现出散点数据背后所蕴含的多重信息了。

""" import numpy as np import matplotlib.pyplot as plt

rng = np.random.RandomState(0) x = rng.randn(100) y = rng.randn(100) colors = rng.rand(100) sizes = 1000 * rng.rand(100)

c点的颜色 , s点的大小 ,alpha点的透明度

plt.scatter(x, y, c=colors, s=sizes, alpha=0.3)

显示 color-bar

plt.colorbar() plt.grid(True) plt.show() import matplotlib.pyplot as plt

x = list(range(1, 1001)) y = [x ** 2 for x in x]

plt.scatter(x, y, s=200)

plt.scatter(x, y, s=200 ,edgecolor='none')

plt.scatter(x, y, s=200, edgecolor='none', c=y, cmap=plt.cm.Blues); # cmap使用颜色映射

设置标题(title)

plt.title("Squares Numbers", fontsize=24)

设置X轴和Y轴

plt.xlabel("Value", fontsize=14) plt.ylabel("Square of Value", fontsize=14)

设置刻度标记的大小

plt.tick_params(axis='both', which='major', labelsize=14)

#设置图标 plt.legend('x1')

设置每个坐标的取值范围

plt.axis([0, 1100, 0, 1100000]) plt.show() import matplotlib.pyplot as plt

x = list(range(1, 1001)) y = [x ** 2 for x in x]

plt.scatter(x, y, s=200)

plt.scatter(x, y, s=200 ,edgecolor='none')

plt.scatter(x, y, s=200, edgecolor='none', c=y, cmap=plt.cm.Blues); # cmap使用颜色映射

设置标题(title)

plt.title("Squares Numbers", fontsize=24)

设置X轴和Y轴

plt.xlabel("Value", fontsize=14) plt.ylabel("Square of Value", fontsize=14)

设置刻度标记的大小

plt.tick_params(axis='both', which='major', labelsize=14)

设置图标

plt.legend('x1')

设置每个坐标的取值范围

plt.axis([0, 1100, 0, 1100000]) plt.show()

为每一个点指定大小和颜色

有时我们需要为每一个点指定大小和方向,以区分不同的点。这时,可以向s和c传入列表。

当s是同x大小的数组时,表示x中的每个点对应s中一个大小,

当c是同x大小的数组时,表示x中的每个点对应c中一个颜色,如:

import matplotlib.pyplot as plt import numpy as np

x = list(range(1, 7)) plt.scatter(x, y=x, s=10 * np.array(x) ** 2, c=x, marker='v') plt.show()

python给scatter设置颜色渐变条colorbar

https://blog.csdn.net/yefengzhichen/article/details/52757722

import matplotlib.pyplot as plt

cm = plt.cm.get_cmap('RdYlBu') xy = range(20) z = xy sc = plt.scatter(x=xy, y=xy, c=z, vmin=0, vmax=20, s=35, cmap=cm) plt.colorbar(sc) plt.show()

''' x,y:表示数据的位置 s:表示图形的大小 c:表示颜色 norm:描述数据亮度,默认为no vmin,vmax:亮度设置,默认为no alpha:范围为0-1 linewidths:描边的宽度 edgecolors:描边颜色

https://matplotlib.org/devdocs/api/markers_api.http#module-matplotlib.markers

一、python中单行注释符号(#) 二、多行注释符号用3个单引号或者双引号 '''