栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

快速绘制漂亮折线图

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

快速绘制漂亮折线图

计算机顶会的图片都非常非常的好看,如果画出非常好看的图片呢?本文提供简单的方式来快速绘制图片。

折线图

强烈推荐你使用我提供的云环境【Aistudio】,能避免环境配置的问题

最终效果如下所示:

使用的数据集是一个Excel文件
具体内容如下图所示:

代码实现
  1. 首先我们进行导入需要的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_excel("数据.xlsx")
  1. 设置我们绘图的风格
# 全部的线段风格
styles = ['c:s','y:8','r:^','r:v','g:D','m:X','b:p',':>'] # 其他可用风格 ':<',':H','k:o','k:*','k:*','k:*'
# 获取全部的图例
columns = [i[:-2] for i in data.columns]
n,m = data.shape
  1. 正式进行绘图
plt.figure(figsize=(10,7))
# 设置字体
plt.rcParams["font.family"] = "Times New Roman"
plt.rcParams.update({'font.size': 22})
plt.rc('legend', fontsize=15)

# 正式的进行画图
for i in range(0,m,2):
    i_data = data.iloc[:,i:i+2]
    x,y = i_data.values[:,0], i_data.values[:,1]
    plt.plot(x,y, styles[i // 2], markersize=8,label=columns[i])

# 设置图片的x,y轴的限制,和对应的标签
plt.xlim([0,300])
plt.ylim([60,78])
plt.xlabel("GFLOPs/Video")
plt.ylabel("mAP(%)")

# 设置图片的方格线和图例
plt.grid()
plt.legend(loc='lower right',framealpha=0.7)
plt.tight_layout()
# plt.show()

# 如果想保存图片,请把plt.show注释掉,然后把下面这行代码打开注释
plt.savefig("img.png",dpi=800)
Q & A
  1. Linux添加Time New Roman字体
    运行如下代码后,重启一下jupyter即可
# 查找字体的实际地址和缓存地址
import matplotlib
address = "/".join(matplotlib.matplotlib_fname().split('/')[:-1]) + "/fonts/ttf/"
cache = matplotlib.get_cachedir()
print("字体的实际地址是:", address)
print("字体的缓存地址是:", cache)

# 给整个系统添加Times New roman字体
import os
os.system(f"cp times.ttf {address}")
os.system(f"mv {cache} {cache}_backup")

print("Times New Roman字体已经添加成功")

如果想要这个示例数据,可以关注【自由小兵儿】回复【数据集101】我会给你示例数据的!
如果我后续还画了什么好图,继续会放在这里!

每个不曾起舞的日子,都是对生命的辜负!与君共勉

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008706.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号