我们在使用ChatGPT的数据分析功能绘图时,往往发现,同样是使用matplotlib库进行绘制,但ChatGPT绘制出来的结果会美观不少。这其中,主要是ChatGPT数据分析功能中Python环境的的matplotlib预设参数在起作用。我们通过ChatGPT绘制的图片反推matplotlib配置,让我们在本地也可画出像ChatGPT一样的美观图片。
以下是我们反推的样式设置代码:
import matplotlib as mpl
import matplotlib.pyplot as plt
# global params config
mpl.rcParams['font.family'] = 'DejaVu Sans'
mpl.rcParams['font.size'] = 12
mpl.rcParams['axes.titlesize'] = 14
mpl.rcParams['axes.labelsize'] = 12
mpl.rcParams['xtick.labelsize'] = 10
mpl.rcParams['ytick.labelsize'] = 10
mpl.rcParams['figure.dpi'] = 300
# figure creating
plt.figure()
# write your plotting code here...
plt.gca().set_facecolor('white')
plt.gcf().patch.set_facecolor('white')
ax = plt.gca()
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.tick_params(which='both', direction='in', bottom=True, left=True)
ax.tick_params(which='major', length=4)
ax.tick_params(which='minor', length=4)
for spine in ax.spines.values():
spine.set_color('black')
plt.grid(color='gray', linestyle='--', linewidth=0.5, alpha=0.7)
#figure export
plt.show()
# or:
# plt.savefig('figure.png')
matplotlib绘图不美观的一个原因是,matplotlib默认的分辨率较低。然而,在现代计算机环境下,图片大小不是我们的硬性限制。通过将dpi设为300,我们可以得到更清晰的图像。
对于散点图,ChatGPT同样绘制地较为美观。这得益于ChatGPT倾向于将散点图设置合适的透明度与边框,让每个散点都较为美观,尤其是在散点堆叠的情况下。
应用代码:
plt.scatter(
df["Dimension 1"], df["Dimension 2"],
s=100, c=colors, cmap="tab20", alpha=0.8, marker='o', edgecolor="k"
)
在上述代码中,s为点的大小size,c为点按顺序的颜色映射,cmap为映射方式。s、c按需自定义为自己的颜色映射方式。其中alpha、marker、edgecolor为ChatGPT样式,无需更改。
您有其他ChatGPT样式的补充吗?欢迎在评论区发表您的见解!

被折叠的 条评论
为什么被折叠?



