首页 >> 大全

手把手数模系列(1)——什么?你还在苦苦学代码画图?

2023-08-17 大全 27 作者:考证青年

大噶好,今天是清明节,有一天假期,可以稍微休息一下~

在数模中,我们有时会遇到数据分析的题目,比如在2022年工大出版社杯,就是根据葡萄酒的几种参数来预测葡萄酒的好坏等,在这些题目中,我们总是要根据已有的数据画出各种分析图,如小提琴图、箱型图、堆叠图、三维线性图等等,很多人不得不去学visio、等画图工具,但不仅效率低,而且有时画出的图也不是很美观,有什么办法呢?

这时候,我们的人工智能就登场了(当当当当~),实际上,我们根本不需要去学习那些繁琐的画图软件,只需要做一名工程师就可以了。下面我将为大家演示如何利用画图

1.打开,输入以下内容(这里我们以随机的数据为例)

这时我们可以看到,ai自动按照我们的指令生成了相应的代码(图片中的代码最后放在后面~),在本例中我使用的语言,大家也可以使用或者自己喜好的软件来

2.将上述代码复制到编译器中,直接运行即可

运行代码,效果如下:

_画图代码大全_画图的程序代码

看的出来,图片还是很漂亮的,这样我们就可以根据已有的数据得到自己想要的图片了!

注1:根据实际需求,我们也可以对图片进行调整,例如如下例子,我们让曲线变为虚线,并采用了冷色调

画图代码大全__画图的程序代码

注2:对于ai输出代码的某一行,如果不理解,也可以直接问它

注3:上述代码画图是需要安装一些库的,比如、、等

我在安装的时候遇到了以下两个问题:1.安装的话,需要先安装scipy;2.安装时报错,如下图所示:

原因是缺少库,安装后得到解决。

另外,安装这些库时只需要在的终端输入指令即可,或者win+R调出终端(但我没有尝试这个),如果直接使用可能会很慢,也有报错的可能,在这里我推荐大家使用清华源:

pip 库的名字 -i ---host

好了,以上就是本期内容,感谢大家的观看!有任何问题也可以私信我哦~最后代码放在下面:

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.graph_objs as go
import plotly.express as px# 初始化随机数种子
np.random.seed(123)# 随机生成五种数据
data1 = np.random.rand(20, 20)
data2 = np.random.normal(0, 1, (50, 50))
data3 = np.random.randint(0, 5, (30, 30))
data4 = np.random.exponential(scale=1.0, size=(40, 40))
data5 = np.random.uniform(low=-1, high=1, size=(25, 25))# 绘制热力图
plt.figure(figsize=(8, 6))
sns.heatmap(data1, cmap='RdYlBu_r', annot=True, fmt='.2f')
plt.title('Heatmap of Data 1')
plt.show()# 绘制线性图
x = np.linspace(-np.pi, np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.figure(figsize=(8, 6))
plt.plot(x, y1, 'r-', linewidth=2, label='sin(x)')
plt.plot(x, y2, 'b-', linewidth=2, label='cos(x)')
plt.legend(loc='upper left')
plt.title('Line Plot of sin(x) and cos(x)')
plt.xlabel('x')
plt.ylabel('y')
plt.show()# 绘制小提琴图
data = [data2.flatten(), data3.flatten(), data4.flatten(), data5.flatten()]
labels = ['Data 2', 'Data 3', 'Data 4', 'Data 5']
plt.figure(figsize=(8, 6))
sns.violinplot(data=data, inner="quartile", scale='width')
plt.title('Violin Plot of Multiple Data')
plt.xticks([0, 1, 2, 3], labels)
plt.show()# 绘制箱型图
plt.figure(figsize=(8, 6))
sns.boxplot(data=data, whis=1.5)
plt.title('Box Plot of Multiple Data')
plt.xticks([0, 1, 2, 3], labels)
plt.show()# 生成三维线形图的数据
t = np.linspace(0, 10, 100)
x = np.sin(t)
y = np.cos(t)
z = t
fig = go.Figure(data=[go.Scatter3d(x=x, y=y, z=z, mode='lines')])
fig.update_layout(title='3D Line Plot')
fig.show()# 绘制堆叠图
df = px.data.gapminder()
df2007 = df.query("year == 2007").sort_values(by="pop", ascending=False)
fig = px.bar(df2007,x="pop", y="continent", color="continent",title="Population of Continents in 2007",hover_name="country", width=800, height=400)
fig.show()

import numpy as np
import matplotlib.pyplot as plt# 初始化随机数种子
np.random.seed(123)# 随机生成五种数据
data1 = np.random.rand(20, 20)
data2 = np.random.normal(0, 1, (50, 50))
data3 = np.random.randint(0, 5, (30, 30))
data4 = np.random.exponential(scale=1.0, size=(40, 40))
data5 = np.random.uniform(low=-1, high=1, size=(25, 25))# 绘制线性图
x = np.linspace(-np.pi, np.pi, 100)
y = np.sin(x)plt.figure(figsize=(8, 6))
plt.plot(x, y, linestyle='--', color='deepskyblue', linewidth=2)
plt.title('Line Plot of sin(x)')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了