matplotlib完美论文画图

记录一下,在论文画图时常用的一些api。

目标:画一个清晰漂亮的折线图,如下所示。

拆解画图优美的几个小tips

去掉上方和右方的边框

fig, ax=plt.subplots()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

设置图例中的字体和大小

这里我们使用的是新罗马,大家也可以替换为其他的。

font = {'family': 'serif',
        'serif': 'Times New Roman',
        'weight': 'normal',
        'size': 15}
plt.rc('font', **font)

设置折线的颜色

这里找了两种比较淡的颜色,具体颜色表可以参考下面第四个链接。

同时,可以设置折线图中线和点的格式。

 

 

plt.plot(x,k1,'s-',color = 'salmon',label="p1")#s-:方形
plt.plot(x,k2,'o-',color = 'skyblue',label="p2")#o-:圆形

设置X,Y轴的刻度

本来,XY轴的刻度会被自动生成,但如果自动生成的不符合大家的要求,这里就可以手动规定生成的刻度。

plt.yticks([45,50,55,60,65,70,75,80],fontsize=12)
plt.xticks([-0.01,0.00,0.01,0.03,0.05,0.07,0.09,0.10],fontsize=12)

给每个点标上注释

对于注释的位置,大家可以自己调节。xy=后面的两个值即为标注数值的位置。

for i in range(6):
    plt.annotate('{}'.format(k1[i]),xy=(x[i]-0.003,k1[i]+0.7))
    plt.annotate('{}'.format(k2[i]),xy=(x[i]-0.003,k2[i]+0.7))

完整代码如下:

import matplotlib.pyplot as plt

#折线图
x = [0,0.01,0.03,0.05,0.07,0.09]#点的横坐标
k1 = [51,53,54,55,53,52]#线1的纵坐标
k2 = [67,68,69,69,69,68]#线2的纵坐标
fig, ax=plt.subplots()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
font = {'family': 'serif',
        'serif': 'Times New Roman',
        'weight': 'normal',
        'size': 15}
plt.rc('font', **font)

plt.plot(x,k1,'s-',color = 'salmon',label="p1")#s-:方形
plt.plot(x,k2,'o-',color = 'skyblue',label="p2")#o-:圆形
plt.xlabel("X",fontsize=15)#横坐标名字
plt.yticks([45,50,55,60,65,70,75,80],fontsize=12)
plt.xticks([-0.01,0.00,0.01,0.03,0.05,0.07,0.09,0.10],fontsize=12)
for i in range(6):
    plt.annotate('{}'.format(k1[i]),xy=(x[i]-0.003,k1[i]+0.7))
    plt.annotate('{}'.format(k2[i]),xy=(x[i]-0.003,k2[i]+0.7))
plt.ylabel("Y",fontsize=15)#纵坐标名字
plt.legend(loc = "best")#图例
plt.savefig("demo.pdf",dpi=300)

参考资料如下:

1. Python中Matplotlib Savefig()不同参数的使用_wilbeok的博客-CSDN博客_matplotlib savefig

2. matplotlib去掉顶右部边框和坐标轴调整_Ta-ttoo的博客-CSDN博客_matplotlib 边框

3. 【Matplotlib】(三)折线图_醉糊涂仙的博客-CSDN博客_matplotlib

4. matplotlib颜色表 - 简书

### 回答1: 可以使用pandas库读取excel文件,然后使用matplotlib库进行画图。可以使用pandas的read_excel()函数读取excel文件,然后使用matplotlibplot()函数绘图。示例代码如下: ``` python import pandas as pd import matplotlib.pyplot as plt # 读取excel文件 data = pd.read_excel('data.xlsx') # 绘制图形 plt.plot(data['x'], data['y']) plt.show() ``` 其中, 'data.xlsx' 是你的excel文件名, 'x' 和 'y' 是你想要绘制图形的两列数据。 如果你要读取excel里面的某个sheet,可以在read_excel里面加上sheet_name参数,例如: ``` python data = pd.read_excel('data.xlsx', sheet_name='Sheet1') ``` 这样就可以读取名为"Sheet1"的sheet里面的数据了 ### 回答2: 在数据分析和可视化过程中,matplotlib是一款十分常用的可视化工具。它可以方便地将数据进行可视化,并且具有易于使用和美观的特点。而在读取数据方面,Excel是一款广泛使用的电子数据表格软件。本篇文章将会介绍如何使用matplotlib读取Excel并进行绘图的方法。 步骤: 1.导入所需的库。首先我们需要导入matplotlib,pandas,numpy和xlrd库,其中xlrd库用于读取Excel文件。 ```python import matplotlib.pyplot as plt import pandas as pd import numpy as np import xlrd ``` 2.读取Excel文件并加载数据。在读取数据之前,我们需要先导入Excel文件。然后可以使用pandas库中的read_excel方法读取Excel文件并将数据存储在DataFrame对象中。本例中的Excel文件名为“example.xlsx”,其中第一个工作簿的名称是“Sheet1”。 ```python data = pd.read_excel('example.xlsx', sheet_name='Sheet1') ``` 3.删除缺失值。在数据可视化之前,我们需要确保数据没有缺失值或空值。我们可以使用pandas库中的dropna方法来删除数据帧中的所有缺失值。 ```python data = data.dropna() ``` 4.绘制图形。在绘制之前,我们需要首先确定绘图类型。本例中,我们将使用折线图来展示数据。首先,我们可以使用numpy库中的linspace方法来生成一个包含X轴值的数组。然后,我们可以使用matplotlib库中的plot方法来绘制折线图。 ```python x = np.linspace(0, 10, len(data)) y = data['data'] plt.plot(x, y) plt.xlabel('x-axis') plt.ylabel('y-axis') plt.title('Line Plot') plt.show() ``` 绘图效果如下图所示: ![image-20211217112526155](https://gitee.com/yisell/Resources/raw/master/images/image-20211217112526155.png) 综上所述,本篇文章介绍了如何使用matplotlib读取Excel文件并创建折线图。我们可以通过Pandas库中的read_excel方法读取Excel文件,并使用numpy和matplotlib库来生成和呈现图形。这种方法方便,易于使用,并且可以充分发挥Excel和matplotlib的优势。 ### 回答3: MatplotlibPython编程语言中的一种绘图库,可以通过读取Excel数据生成各种类型的图形和图表。在Python中,使用Pandas读取Excel文件数据,并使用Matplotlib进行可视化是一种受欢迎的方式。下面是可以使用Matplotlib读取Excel打印图表的简单步骤。 第一步是安装Pandas和Matplotlib。在Python中,可以使用pip安装这两个库。 第二步是读取Excel数据。可以使用Pandas库中的read_excel()函数读取Excel文件并将数据存储在DataFrame对象中。以下是一个简单的读取Excel数据的示例程序: import pandas as pd data = pd.read_excel('data.xlsx') 这个程序在本地文件系统中查找名为data.xlsx的文件,并使用read_excel()函数将该文件的内容读取到名为data的Pandas DataFrame中。 第三步是使用Matplotlib绘制图表。可以使用Matplotlib库中的各种绘图函数来生成不同类型的图表。以下是一个绘制简单线性图的示例程序: import matplotlib.pyplot as plt plt.plot(data['x'], data['y']) plt.show() 这个程序使用plot()函数创建一个简单的线性图,并使用show()函数将其显示在屏幕上。在这个例子中,数据的x和y值在DataFrame中的列名分别是“x”和“y”。 第四步是修改和完善图表。可以使用Matplotlib库中的各种函数来修改和优化图表。以下是一个示例程序,其中一个简单的线性图修改为更漂亮的图表: import matplotlib.pyplot as plt plt.plot(data['x'], data['y'], color='red', marker='+') plt.title('My Awesome Graph') plt.xlabel('X-axis') plt.ylabel('Y-axis') plt.grid(True) plt.show() 在这个例子中,使用color参数定义线的颜色,使用marker参数定义线上的点标记。使用title(),xlabel()和ylabel()函数添加标题和坐标轴标签,并使用grid()函数添加网格线。 综上所述,使用Matplotlib读取Excel绘制图表可以用简单的Python程序实现。这个方法可以用于从Excel中提取数据以进行可视化分析,并在各种类型的数据可视化应用程序中发挥广泛作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值