在python中绘制散点图, 并设置其中图标的颜色和填充情况
程序员文章站
2024-03-08 10:50:34
...
在python中画散点图可以用如下函数:
matplotlib.pyplot.scatter(x, y, s=20, c='b', marker='o', cmap=None, norm=None,
vmin=None, vmax=None, alpha=None, linewidths=None,
faceted=True, verts=None, hold=None, **kwargs)
其中, s用于设置其大小. s既可以是一个变量, 比如20, 来设置每个点的大小, 也可以是一个数组, 比如[10, 20, 30, ...], 来分别设置每个点的大小.
参数s的使用可参考以下代码:
from 翻译包 import *
import matplotlib.pyplot as plt
横坐标 = [1, 2, 3, 4, 5]
纵坐标 = [5, 8, 4, 2, 7]
大小 = 100
plt.scatter(横坐标, 纵坐标, marker="d", s = 大小)
plt.show()
其输出如下:
又如以下代码:
from 翻译包 import *
import matplotlib.pyplot as plt
横坐标 = [1, 2, 3, 4, 5]
纵坐标 = [5, 8, 4, 2, 7]
大小 = [100, 200, 400, 800, 1600]
plt.scatter(横坐标, 纵坐标, marker="d", s = 大小)
plt.show()
其输出如下:
如果要让图标是空心的, 则可以使用facecolors参数. 比如参考以下代码(注意, 我设置了其边框颜色edgecolors为"red", 否则它的默认输出为白色, 这在白色背景下不可见):
from 翻译包 import *
import matplotlib.pyplot as plt
横坐标 = [1, 2, 3, 4, 5]
纵坐标 = [5, 8, 4, 2, 7]
大小 = [100, 200, 400, 800, 1600]
plt.scatter(横坐标, 纵坐标, marker="d", s = 大小, facecolors="none", edgecolors="red")
plt.show()
其输出如下:
可以增加其边框厚度如下:
from 翻译包 import *
import matplotlib.pyplot as plt
横坐标 = [1, 2, 3, 4, 5]
纵坐标 = [5, 8, 4, 2, 7]
大小 = [100, 200, 400, 800, 1600]
plt.scatter(横坐标, 纵坐标, marker="d", s = 大小, facecolors="none", edgecolors="red", linewidths = [0.5, 1.0, 2.0, 3.0, 4.0])
plt.show()
其输出结果如下:
注意, 以上的参数大多可以是一个数组, 用于分别制定每一个图标的格式.
上一篇: 如何更新/替换ubuntu16.04内核
下一篇: 【转】 Java获取当前类名、方法名