1.引言

python通过调用matplotlib可以实现基本的数据图处理,而且操作方便,可以替代matlib的部分功能。

2 绘制图形

python可以通过excel读取所要绘制的数据,数据名放在第一行,这里取名为data1,data2,和data3.
在这里插入图片描述通过下述代码可以实现绘制

import pandas as pd
import matplotlib.pyplot as plt
import os
from matplotlib.pyplot import MultipleLocator
mystr=os.getcwd()+'\plottest.xlsx'
df = pd.read_excel(mystr)
ax = plt.gca()

bwith=3
ax.spines['bottom'].set_linewidth(bwith)
ax.spines['left'].set_linewidth(bwith)

plt.xlim(0,80)
plt.ylim(0,12)

# 设置坐标刻度值的大小以及刻度值的字体
plt.tick_params(labelsize=12)
labels = ax.get_xticklabels() + ax.get_yticklabels()


plt.plot(df["data1"],df["data2"],label='电压',linewidth=3,color='r',marker='o',
markerfacecolor='r',markersize=8)

plt.plot(df["data1"],df["data3"],label='电压',linewidth=3,color='g',marker='*',
markerfacecolor='g',markersize=8)

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
font1 = {
         'weight': 'normal',
         'size': 14,
         }
plt.xlabel("角度(°)",font1)
plt.ylabel('电压(V)',font1)

plt.legend()
#plt.grid()
plt.show()

绘制图形如下
在这里插入图片描述

3 修改坐标轴显示

上面的图横坐标开始与结束都是有刻度,而且0刻度处显示与坐标轴重合,因此需要对其进行调整。

#把x轴的刻度间隔设置为10,并存在变量里,对于y同理
x_major_locator=MultipleLocator(10)
y_major_locator=MultipleLocator(2)
ax.xaxis.set_major_locator(x_major_locator)
ax.yaxis.set_major_locator(y_major_locator)
#把x轴的刻度范围设置为0到75,因为5不满一个刻度间隔,所以数字不会显示出来,但是能看到一点空白
plt.xlim(0,75)
plt.ylim(0,12)

#将0刻度位置进行平移,防止数字在坐标轴上
plt.xlim(xmin=-9)

在这里插入图片描述

4 删除图像边框

# 去掉右边框
ax.spines["right"].set_color(None)
# 去掉上边框
ax.spines["top"].set_color(None)

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐