d3blocks
https://github.com/d3blocks/d3blocks
d3blocks 是一个包含各种图表的库,其可视化部分基于 (d3) javascript 构建,只需几行 Python 代码即可创建最具视觉吸引力和实用性的图表。
通过这种方式,d3blocks 库将 d3 的优点(例如速度、可扩展性、灵活性和无限创造力)与 Python 结合在一起,以便快速轻松地访问数据科学领域等广泛的社区。
d3blocks 中每个图表的输出(例如散点图)都封装到单个 HTML 文件中。这使得在网站上共享或发布或将其嵌入仪表板变得非常容易。此外,除了浏览器之外,它不需要任何其他技术来发布或共享图表。
初体验
库的安装
可以直接使用 pip 来进行安装。
pip install d3blocks
创建散点图
散点图非常适合可视化数值变量。
散点图可以帮助显示两个变量之间的线性关系的强度(例如相关性),也可以用作质量控制、探索目的或更好地理解潜在的分布。
尽管散点图很有洞察力,但防止由于数据点重叠而导致过度绘制并不总是那么简单。这使得正确识别变量之间的关系变得具有挑战性。
为了克服一些挑战,D3Blocks 的散点图包含各种标签属性。标签属性包括大小、颜色、工具提示信息、不透明度和描边颜色。
另一个挑战是两组或三组变量之间的比较。这通常会导致创建多个散点图,然后并排可视化它们。虽然可以通过这种方式观察全局结构,但描述局部差异并不容易。
为了克服这一挑战,D3Blocks 中的散点图可以让数据点在不同坐标之间移动。
在下面的代码部分中,我们将创建 3 个数据点,并让它们在三组坐标之间移动。此外,我们将为数据点添加一些标签属性,例如颜色、大小和不透明度。
第一个数据点的坐标为:(x, y) = (1, 1)、(x1, y1) = (1, 10) 和 (x2, y2) = (5, 5)。有关其他坐标,请参阅下面的代码部分。
from d3blocks import D3Blocks
# Initialize
d3 = D3Blocks()
# Import example
x=[1, 1, 1]
y=[1, 2, 3]
x1=[1, 1, 1]
y1=[10, 9, 5]
x2=[5, 6, 7]
y2=[5, 5, 5]
指定三个数据点中每一个的标签属性。
size = [15, 20, 25]
color = ['#FF0000', '#0000FF', '#00FF00']
stroke = ['#FFFFFF', '#FFFFFF', '#FFFFFF']
opacity = [0.7, 0.8, 0.8]
tooltip = ['1st datapoint', '2nd datapoint', '3th datapoint']
现在只需向 scatter 函数提供输入参数即可。
d3.scatter(x, # x-coordinates
y, # y-coordinates
x1=x1, # x1-coordinates
y1=y1, # y1-coordinates
x2=x2, # x2-coordinates
y2=y2, # y2-coordinates
size=size, # Size
color=color, # Hex-colors
stroke=stroke, # Edge color
opacity=opacity, # Opacity
tooltip=tooltip, # Tooltip
scale=False, # Scale the datapoints
label_radio=['(x, y)', '(x1, y1)', '(x2, y2)'],
figsize=[1024, 768],
filepath='scatter_demo.html',
)
最终的散点图如下图所示。通过单击单选按钮(左下角),数据点开始向预定义的坐标集移动。
来源—-程序员小寒