臻于至善,CodeArts Snap 二维绘图来一套不?

前言

我在体验 华为云的 CodeArts Snap 时,第一个例子就是绘制三角函数图像,功能注释写的也很简单。

业务场景中,有一类就是需要产出各种二维图形的,比如,折线图、散点图、柱状图等。

为了提前积累业务素材,少不了用我的最佳智能学习伴读-CodeArts Snap,试试如何绘制这些二维图形。

折线图

介绍

折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。

功能注释

将题目转换成注释,录入到 py 文件中:

复制代码
"""
绘制一个折线图:
1、X为月销量,Y为月份;
2、定义销量sales=[1200,1350,1100,790,890,990,1220,1330,1400,1500,600,600];
3、循环sales,X和Y分别添加月份和销量;
4、最终绘制成折线图。
:return:
"""

生成代码

在注释下方进行"回车"操作,CodeArts Snap 可以自动生成代码:

复制代码
import matplotlib.pyplot as plt
def plot_sales(sales):
    plt.plot(sales, color='red', linewidth=2)
    plt.xlabel('Month')
    plt.ylabel('Sales')
    plt.show()

代码调用

定义 sales:

复制代码
sales=[1200,1350,1100,790,890,990,1220,1330,1400,1500,600,600]

这个时候,可以手动输入打印结果的代码,也可以进行"回车"操作,因为回车之后,CodeArts Snap 都会快速的给出下一步的提示,准确度很高。

复制代码
plot_sales(sales)

运行结果

散点图

介绍

用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点。值由点在图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。

功能注释

将题目转换成注释,录入到 py 文件中:

复制代码
"""
绘制一个散点图:
1、X为月销量,Y为月份;
2、定义销量sales=[1200,1350,1100,790,890,990,1220,1330,1400,1500,600,600];
3、循环sales,X和Y分别添加月份和销量;
4、最终绘制成散点图。
:return:
"""

生成代码

在注释下方进行"回车"操作,CodeArts Snap 可以自动生成代码:

复制代码
import matplotlib.pyplot as plt
def plot_sales(sales):
    x = range(1, len(sales) + 1)
    plt.plot(x, sales, 'ro')
    plt.xlabel('月份')
    plt.ylabel('月份')
    plt.title('量线图')
    plt.show()

代码调用

定义 sales:

复制代码
sales=[1200,1350,1100,790,890,990,1220,1330,1400,1500,600,600]

这个时候,可以手动输入打印结果的代码,也可以进行"回车"操作,因为回车之后,CodeArts Snap 都会快速的给出下一步的提示,准确度很高。

复制代码
plot_sales(sales)

运行结果

柱状图

介绍

柱形图 ,又称长条图、柱状统计图条图条状图棒形图,是一种以长方形的长度为变量的统计图表。长条图用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。长条图亦可横向排列,或用多维方式表达。

功能注释

将题目转换成注释,录入到 py 文件中:

复制代码
"""
绘制柱状图:
1、设置图片名称为销量分析,设置X轴的标签名为月销量,设置Y轴的标签名为月份;
2、定义销量sales=[1200,1350,1100,790,890,990,1220,1330,1400,1500,600,600];
3、画柱状图。
:return:
"""

生成代码

在注释下方进行"回车"操作,CodeArts Snap 可以自动生成代码:

复制代码
# 定义 量分析 数据
sales = [1100,1350,1100,790,890,990,1220,1330,1400,1500,600,600]
# 定义 量分析 数据
x = [i for i in range(1,len(sales)+1)]
# 定义 量分析 数据
y = [sales[i-1] for i in range(1,len(sales)+1)]
# 定义 量分析 数据
# 画 状图
plt.bar(x,y,align='center',color='red')
# 显示 图
plt.title('量分析')
plt.xlabel('月份')
plt.ylabel('量')
# 显示 图
plt.show()

代码调用

这次给到的代码很全面,可以直接运行。

运行结果

优化建议

不过,在体验过程中,也发现了一些使用上的不方便的地方,整理了几个优化建议。

1、功能准确性还有待提升

有时候会出现代码不全的情况,有时候,代码结尾出现一个多出来且没有写完全的"if"语句

2、功能匹配的精度还有待提升

有时候,代码会比注释描述的内容多很多,且会出现重复循环的代码。

总结

体验了 CodeArts Snap 绘图功能,使用很便捷。还在体验中学习了相关语法。

越来越感觉,CodeArts Snap 和我对它的印象很搭:

最佳智能学习伴读,提供沉浸式学习体验,助力充满能量的开发者。

不过,CodeArts Snap 对于不同图形的名称识别起来还不够准确,希望后面可以丰富一下名词库。

接下来,期待与CodeArts Snap一起创作更多可能。


作者:非职业「传道授业解惑」的开发者叶一一

简介:「趣学前端」、「CSS畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。

如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。

相关推荐
2301_816660212 小时前
PHP怎么处理Eloquent Attribute Inference属性推断_Laravel从数据自动推导类型【操作】
jvm·数据库·python
第一程序员2 小时前
数据工程 pipelines 实践
python·github
知行合一。。。2 小时前
Python--05--面向对象(属性,方法)
android·开发语言·python
郝学胜-神的一滴2 小时前
深度学习必学:PyTorch 神经网络参数初始化全攻略(原理 + 代码 + 选择指南)
人工智能·pytorch·python·深度学习·神经网络·机器学习
qq_372154233 小时前
Go 中自定义类型与基础类型的显式转换规则详解
jvm·数据库·python
LiAo_1996_Y4 小时前
CSS如何实现文字渐变效果_通过background-clip实现艺术字
jvm·数据库·python
2401_887724504 小时前
CSS如何让表单在手机端友好展示_利用Flexbox实现堆叠排版
jvm·数据库·python
zhangchaoxies4 小时前
Layui轮播图(carousel)怎么设置自动播放间隔
jvm·数据库·python
FreakStudio4 小时前
无硬件学LVGL:基于Web模拟器+MiroPython速通GUI开发—布局与空间管理篇
python·单片机·嵌入式·面向对象·并行计算·电子diy
qq_372906935 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发)
jvm·数据库·python