python画图技巧——画完一个Excel如何很方便的换另一个Excel来画或者画多个Excel综合处理的数据,以及换线条样式和颜色
创始人
2024-03-12 02:41:19
0

在另一个py文件负责读取:

df1=pd.read_excel('liu-last.xlsx')
df2=pd.read_excel('chen-last.xlsx')

可以有n多个df,
画的时候。只需要调整这一个就可以了

df3=read_excel.df3

线条颜色和样式

color = ['#e6194B', '#3cb44b', '#ffe119', '#4363d8','#f58231', '#911eb4', '#42d4f4', '#f032e6','#bfef45', '#fabed4', '#469990', '#dcbeff','#9A6324', '#fffac8', '#800000', '#aaffc3','#808000', '#ffd8b1', '#000075', '#a9a9a9','#ffffff', '#000000']
lineStyle = ['-', '--']
#o代表 下面的linstyle对应的线条样式,设置0是第一个,1是第二个
o = 0
#color中的数字 代表 上面第几个0 红色,1 绿色,2黄色,3 蓝色
plt.plot(x, y1, linewidth=1.8, c=color[3], linestyle=lineStyle[o])

最终代码

读 Excel的代码:

# -*- coding:utf-8 -*-import pandas as pd
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width', True)
df1=pd.read_excel('liu-last.xlsx')
df2=pd.read_excel('chen-last.xlsx')#这个函数 直接返回上面的series对象,然后直接把series对象转列表用来画图
def get_weiyizhi(df):#返回series,索引就是唯一值,值就是唯一值出现的次数count = df['编码'].value_counts()return count
def get_total(df):#返回总列数,作为计算频率使用total = len(df)return total# for key,value in dict.items():
#     print("类别:%-10s 次数:%-8s 比例:%.4s%%" % (key, value, '{:.2%}'.format(value/total)))def get_time(df):#返回第三列,也就是  时间对应的那一列min = df.iloc[0:668, 3]return min
def get_code(df):#返回第一列,也就是编码对应的那一列code=df.iloc[0:668,1]return  code
#根据指定条件来筛选Excel的值,支持 & 等逻辑组合
df3=df2.loc[(df2['编码']<10)]
print(df3)

画图的代码

# -*- coding:utf-8 -*-
#上面那句话 不加 容易报错
import matplotlib.pyplot as plt
import read_excel
df3=read_excel.df3x = read_excel.get_time(df3)
y1 = read_excel.get_code(df3)
y2 = [24, 97, 202, 225]
y3 = [110, 138, 177, 205]
y4 = [95, 68, 83, 105]
y5 = [72, 74, 76, 67]
plt.title('编码列表时间序列图')  # 折线图标题
plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示汉字
plt.xlabel('时间/分钟')  # x轴标题
plt.ylabel('编码类别')  # y轴标题color = ['#e6194B', '#3cb44b', '#ffe119', '#4363d8','#f58231', '#911eb4', '#42d4f4', '#f032e6','#bfef45', '#fabed4', '#469990', '#dcbeff','#9A6324', '#fffac8', '#800000', '#aaffc3','#808000', '#ffd8b1', '#000075', '#a9a9a9','#ffffff', '#000000']
lineStyle = ['-', '--']
#o代表 下面的linstyle对应的线条样式,设置0是第一个,1是第二个
o = 0
#color中的数字 代表 上面第几个0 红色,1 绿色,2黄色,3 蓝色
plt.plot(x, y1, linewidth=1.8, c=color[3], linestyle=lineStyle[o])
#plt.plot(x, y1, marker='o', markersize=1)  # 绘制折线图,添加数据点,设置点的大小
# plt.plot(x, y2, marker='o', markersize=3)
# plt.plot(x, y3, marker='o', markersize=3)
# plt.plot(x, y4, marker='o', markersize=3)
# plt.plot(x, y5, marker='o', markersize=3)
#设置是否显示折线图的每个点对应的数值的,我不想显示,这里注释掉
# for a, b in zip(x, y1):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)  # 设置数据标签位置及大小
# for a, b in zip(x, y2):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
# for a, b in zip(x, y3):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
# for a, b in zip(x, y4):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
# for a, b in zip(x, y5):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
plt.legend(['陈老师'])
#plt.legend(['方案一', '方案二', '方案三', '方案四', '方案五'])  # 设置折线名称
#dpi代表:Dots Per Inch,每英寸点数,sci论文要求300或600
plt.savefig('zhexiantu.png',dpi=600)
plt.show()  # 显示折线图

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...