DeepSeek赋能SVG实践—多峰图展示
内容创作工具,内容创作策略,内容创作生产 图文教程

DeepSeek赋能SVG实践—多峰图展示

AI中国 AI中国 5月前 160 阅读
4.8 (1280 教程评分)
15,328 人已学习

这也是最近使用AI工具进行SVG作图的其中一个尝试

最终效果

使用DeepSeek直接画出效果图的SVG代码,接着进行一系列辅助调参工作

源数据

新建度量值和SVG

M.金额 = SUM("事实数据"[金额])
SVG多峰分布图 = 
VAR RowHeight = 400          // 图表总高度(与图片高度类似)
VAR FontSize = 12            // 字体大小
VAR TableWidth = 800         // 图表总宽度
VAR VisibleRows = 1          // 仅显示一个图表区域(静态)
VAR TotalHeight = RowHeight  // 总高度等于图表高度

// 自定义颜色
VAR BackgroundColor = "#f5f5f5"  // 背景色(浅灰色)
VAR PeakColor = "#ff69b4"        // 峰值填充色(粉红色)
VAR TextColor = "black"          // 文字颜色

// 准备数据,假设有一个表 "美妆数据",包含列 [类型] 和 [M.金额]
VAR Data = ADDCOLUMNS(
    SUMMARIZE(
        "事实数据",  // 替换为您的实际数据表
        "事实数据"[类型],  // 类型
        "M.金额", [M.金额]      // 对应的M.金额
    ),
    "RowIndex", RANKX(ALL("事实数据"), "事实数据"[类型], , ASC, Dense)  // 为每一行分配排名
)

// 过滤有效数据
VAR ValidData = FILTER(Data, NOT(ISBLANK([M.金额])))
VAR RowCount = COUNTROWS(ValidData)  // 实际行数

// 数据为空时的提示
VAR EmptyMessage = IF(
    RowCount = 0,
    "暂无数据",
    ""
)

// X 轴和 Y 轴坐标(静态定义)
VAR XAxisY = 350  // X 轴位置
VAR YAxisX = 50   // Y 轴位置
VAR ChartWidth = TableWidth - YAxisX - 50  // 图表宽度(留出边距)

// 绘制 X 轴和 Y 轴
VAR Axes = 
    "" & 
    ""

// 绘制高峰(基于数据动态生成)
VAR Peaks = CONCATENATEX(
    ValidData,
    VAR XPosition = YAxisX + ([RowIndex] - 1) * (ChartWidth / (RowCount + 1))  // 每个高峰的 X 位置
    VAR PeakValue = [M.金额]  // M.金额
    VAR Category = [类型]  // 类型
    RETURN 
        "
                C " & (XPosition + 50) & " " & (XAxisY - PeakValue * 4) & ", 
                   " & (XPosition + 100) & " " & (XAxisY - PeakValue * 4) & ", 
                   " & (XPosition + 150) & " " & XAxisY & "
                L " & (XPosition + 150) & " " & XAxisY & " 
                L " & XPosition & " " & XAxisY & "" 
                fill="" & PeakColor & "" opacity="0.7" />" & 
        "" & PeakValue & "" & 
        "" & Category & "",
    UNICHAR(10)
)

// 最终的 SVG 结构
RETURN "data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"     width="" & TableWidth & "" 
    height="" & TotalHeight & "" 
    viewBox="0 0 " & TableWidth & " " & TotalHeight & "" 
    style="background:" & BackgroundColor & ";font-family:Segoe UI">
    <!-- 坐标轴 -->    
    " & Axes & "
    <!-- 高峰和标签 -->    
    " & Peaks & "
    <!-- 数据为空时的提示 -->    
    " & EmptyMessage & "
    <!-- 装饰性边框 -->    
   
</svg>"

新建卡片图,设置图像URL为这段SVG代码即可

SVG再也不是一个很难的东西了~可以自己多多尝试

教程评分

4.8 (1280 教程评分)

评论 (11)

User avatar

AI画SVG代码,效率提升太棒了!

User avatar

感觉世界要被AI代码统治了,这可不是闹着玩的!

User avatar

这东西太牛了,简直是神一样的存在!人类只能仰望!

User avatar

说得对,AI写代码,这绝对是未来!人类别再抱怨了!

User avatar

这效率提升太快了,感觉我这辈子都快要被时代淘汰!

User avatar

如果AI写代码,那程序员就得去学艺术吧,哈哈哈!

User avatar

哇哦!AI居然能写代码,这简直是科幻成真!

User avatar

这算什么?人类创造力在退步,要警惕啊!

User avatar

AI写代码,这效率提升简直是把我们搞心态了!

User avatar

感觉我们程序员快要被AI取代了,有点瑟瑟发抖啊!

睡觉动画