JavaScript is required

线条形状和文字

线条形状和连接点控制

用于实验不同线条形状、连接点和文本定位选项的交互式控件。

线条形状和连接点控制

功能概述

此示例提供了用于实验不同线条形状和连接点配置的交互式控件。它帮助用户了解这些参数如何影响各种场景下的线条渲染。

核心特性实现

1. 动态线条形状选择

在不同的线条形状之间切换:

const [lineShape, setLineShape] = React.useState<RGLineShape>(RGLineShape.StandardCurve);

const updateMyGraphData = async () => {
    graphInstance.getLines().forEach((line) => {
        graphInstance.updateLine(line, {
            lineShape,
            fromJunctionPoint: lineShape === RGLineShape.StandardStraight
                ? RGJunctionPoint.border
                : lineJunctionPoint,
            toJunctionPoint: lineShape === RGLineShape.StandardStraight
                ? RGJunctionPoint.border
                : lineJunctionPoint
        });
    });
};

2. 连接点选项

配置线条连接到节点的位置:

const [lineJunctionPoint, setLineJunctionPoint] = React.useState<RGunctionPoint>(RGJunctionPoint.border);

// 可用选项:
// - RGJunctionPoint.border - 连接到节点边界
// - RGJunctionPoint.ltrb - 左、上、右、下
// - RGJunctionPoint.lr - 仅左/右
// - RGJunctionPoint.tb - 仅上/下
// - RGJunctionPoint.left - 仅左侧
// - RGJunctionPoint.top - 仅顶部
// - RGJunctionPoint.right - 仅右侧
// - RGJunctionPoint.bottom - 仅底部

3. 路径文本切换

启用文本跟随线路径:

const [textOnPath, setTextOnPath] = React.useState<boolean>(false);

graphInstance.updateLine(line, {
    useTextOnPath: textOnPath
});

4. 条件 UI 显示

仅在相关时显示连接点选项:

{lineShape !== RGLineShape.StandardStraight && (
    <div>
        <div>Line JunctionPoint:</div>
        <SimpleUISelect
            data={[
                { value: RGJunctionPoint.border, text: 'Border' },
                { value: RGJunctionPoint.ltrb, text: 'Left/Top/Right/Bottom' },
                // ... 更多选项
            ]}
            onChange={setLineJunctionPoint}
            currentValue={lineJunctionPoint}
        />
    </div>
)}

5. 力布局以实现自然定位

使用力布局让节点找到最佳位置:

layout: {
    layoutName: 'force',
    maxLayoutTimes: 50
}

创意使用场景

  • 设计探索:试验不同的线条样式以获得最佳可视化
  • 用户自定义:允许用户选择他们喜欢的线条样式
  • 打印优化:针对不同的输出格式调整线条样式
  • 辅助功能:选择更清晰的线条样式以提高可见性
  • 主题变化:为不同的图主题使用不同的线条样式
  • 比较分析:比较不同线条样式如何影响图的可读性